using synchronization techniques