new sync method