refactoring of sync methods