run-nfa works, but needs refactoring.