added data binding implementation