pushing before refactoring the perform_slide methods