 
      IReadableSpec
      (read [_ buff pos]
-       [(buffer/read-long buff pos)
-        (Long/BYTES)])
+       [(Long/BYTES)
+        (buffer/read-long buff pos)])
 
      IWritableSpec
      (write [_ buff pos value]

      (read [_ buff pos]
        (loop [index pos result {} pairs data]
          (if-let [[fieldname type] (first pairs)]
            (let [[readeddata readedbytes] (read type buff index)]
              (recur (+ index readedbytes)
                     (assoc result fieldname readeddata)
                     (rest pairs)))

    (read [_ buff pos]
      (loop [index pos result [] types types]
        (if-let [type (first types)]
          (let [[readedbytes readeddata] (read type buff index)]
            (recur (+ index readedbytes)
                   (conj result readeddata)
                   (rest types)))
