refactor pull choose up from CompositeParker