support for two-way data binding