More mvvm refactoring