pre-mvvm