fixed control flow