there's a bug somewhere in the offset part