Separating control flow