refactor job