moved general layout to viewmodel class
extracted signals/slots
introduced view models