add publish methods