add reward job and refactoring