add help functions and before refactor create and publish