refactor runJob