takes number of generation;
modify usage;