made some more test, and restructured the base viewmodel, to actually work with nested viewmodel