added locking routines