         let tailLayer = makeSegmentLayer(from: lastPoint, to: point, withColour: self.recordingColour ?? DEFAULT_RECORDING_COLOUR)
         
         // make a struct for the segment
-        let tailSegment = TailSegment(point: point, size: size, layer: tailLayer, timer: timer)
+        let tailSegment = TailSegment(point: point, moving: moving, size: size, layer: tailLayer, timer: timer)
         tailSegments.append(tailSegment) // add to storage
         layer.addSublayer(tailLayer) // draw the tail segment
     }

            recordTouch(at: lastPoint!, withRadius: size!, thatWasMoving:false)
        } else {
            // not recording, add disappearing touches.
            addTailSegment(at: lastPoint!, withSize: size!)
        }
        // always make a sound.
        makeSound(at: lastPoint!, withRadius: size!, thatWasMoving: false)

        
        // figure out last point, if no previous segment, just use same point.
        var lastPoint = point
        // make a line only when point is moving, and there was a previous point.
        if let seg = tailSegments.last, moving {
            lastPoint = seg.point
        }
        
