base job class