implementing the push command (wip)