explicit virtual constructor for -Wdelete-non-virtual-dtor
enable warnings
restructure the GetJob loop a bit so that it can fall off the end