completed 2 way binding