start fine-grained lock-based implementation