 
         var offset = 0
         if elitism {
-            newPop.add(tour: population.getFittest())
+            newPop[0] = population.getFittest()
             offset = 1
         }
 
-        for _ in offset..<population.size {
+        for i in offset..<population.size {
             let parent1 = select(from: population)
             let parent2 = select(from: population)
             let child = crossover(parent1: parent1, parent2: parent2)
-            newPop.add(tour: child)
+            newPop[i] = child
         }
 
         for i in offset..<population.size {

    }

    func crossover(parent1: Tour, parent2: Tour) -> Tour {
        var child = Tour()

        var start = Int(arc4random_uniform(UInt32(parent1.size)))



    init(size: Int, initialize: Bool) {

        for _ in 0..<size {
            if initialize {
                var tour = Tour()
                tour.generateIndividual()
                tours.append(tour)
            } else {
                tours.append(Tour())
            }
        }
    }
