add publish action (need to finish the unpublish method)