add request locking