lock interaction seems correct