added include guard for D_Finite_Automaton