     let n: UInt32 = 0xe6546b64
     var hash: UInt32 = seed
     var k: UInt32 = 0
-    let l = len / 4 // chunk length
+    let l = maxBytes / 4 // chunk length
 
     let chunks = UnsafeBufferPointer<UInt32>(
           start: UnsafePointer<UInt32>(key), count: l)

    return hash
  }

}

    k = 0

    // remainder
    switch maxBytes & 3 { // `len % 4'
      case 3: k ^= UInt32(tail[2] << 16)
      case 2: k ^= UInt32(tail[1] << 8)
      case 1:
