added two-way binding