two-way sync