notes on finite state machines