added rouletteselection that works with our negative fitnesses