publishing and refactor some code out