submit candidate 2: added lock