add request timeout and update package.json