genetic algorithm W.I.P.