new lock functions