add 30 second read timeout