for synchronization