starting to organize sub generators