Model refactor