implement aggregate_locking design