takes_job argument, now job functions can accept job as argument