Added abstract model class