pushing before pulling