prepare push