updated mission impl