Modified implementation of pushing functions