implemented proper mission flow