refactor drafts publish process