Initial work on viewmodel