functional separation