Added: preference view model