built in synchronization