further improvements to Model class