Added state machine and unit tests