Model refactorred