Big rewrite of jobs route - closes #49