better encapsulation of model attributes