add code to keep best individuals in each generation