add publisher api