ben-ng/finite-automata