syncer refactor