Predecessor function: WIP