use BaseJob as job instance's common base