updated push method