big change in code: finish all push and pop action and save action