updated push to be able to push in both directions