Refactoring the syncer