refactor constantly post