TypeParameters added to Job + refactoring