added state machine manager