sync & refactoring