added stateMachine classes