Why do we need to set timeout here?