basic 3 way data binding implemented