generic job manager