improved sail_controller