explicit locking