bubble merge offsets use relative length rather than relative offset