added has_one_generator
added has_one generator