prefer `p + 1` here