leaning Generator etc