     var split_t: Float    // time at which the next split will be forced
     var split_dt: Float   // time between forced splits
     var split_rate: Float // rate at which random splits happen
-    var num_steps: Float  // how many steps have happened
-    var num_splits: Float // how many splits have happened
+    var new_steps: Int    // how many steps this ant has taken
+    var num_steps: Float  // how many steps have happened total
+    var num_splits: Float // how many splits have happened total
     var s: AntSettings! = nil
     
     init(x: Int, y: Int, dx: Int, dy: Int, time: Float, s: AntSettings) {

        split_t = splitFrom.split_t
        split_dt = splitFrom.split_dt
        split_rate = splitFrom.split_rate
        num_steps = splitFrom.num_steps
        num_splits = splitFrom.num_splits
        s = splitFrom.s

                }
            }
            time += 1.0
            // check if ants are out of control
            if (ants.count >= base_settings.w * base_settings.h) {
                ants.removeAll(keepCapacity: true)
            }
            // check if simulation is finished
            if (ants.count == 0 && !finished) {
                time = 0.0
