setup initial UI and MVVM code