minimal refactoring in Model