add genetic algo for optimization