working revision...add fitness function, etc.