Job model/view/collection +some refactoring