implemented some more AbstractModel pieces