 
     var position: Double {
         return Double(absoluteTime) / Double(timeDivision)
-    }
-
-    var timeLength: Int {
-        return (data.firstIndex(where: { $0 < 0x80 }) ?? 0) + 1
     }
 
     var typeByte: MIDIByte? {

    var runningStatus: AKMIDIStatus?
    private var timeOffset: Int //accumulated time from previous events

    init(data: [MIDIByte], timeFormat: MIDITimeFormat, timeDivision: Int, timeOffset: Int) {
        self.data = data
        self.timeFormat = timeFormat
        self.timeDivision = timeDivision
        self.timeOffset = timeOffset
    }

    var computedData: [MIDIByte] {

        return Array(data.suffix(from: timeLength))
    }

    var vlq: MIDIVariableLengthQuantity? {
        return MIDIVariableLengthQuantity(fromBytes: data)
    }

    var timeLength: Int {
        return vlq?.length ?? 0
    }

    var deltaTime: Int {
        return Int(vlq?.quantity ?? 0)
    }

    var absoluteTime: Int {
