Abstract model implemented