fine-grained synchronization