job constructor