use byte offsets everywhere (fix)