bug fixed: pre condition checked instead of post condition
bug fixed: incorrect state after the same point is pushed multiple times