make job class dynamic for more hackability