repush logic