use singleton Lock object