generation improvements