refactored generations import