Finite State Machines, an intro