add base view and viewmodel, create view classes