split the publish protocol