re-factor job submission