added eq_generator, eq_solver