implementing 2 way binding for datamodel<->viewmodel (wip)