refactor + comment succ/pred