implemented synchronizing