add LockGuard class