improve generators