Use more fine-grained synchronisation