finished some push methods