add two-way binding between components and models