add state machine to solution