View model refactored