controller state transition implemented