use move for lock