added some initial functionality to AbstractModel