leaner State Machine