finite state machine framework