added deterministic finite automata