Improve StateMachine