implement DataSource binding