state machine back end basic functions