added automatic registering of interfaces and viewmodels