byte offsets are always ints