actually do 'push'