actually acquire lock