Implemented a more traditional style automaton