added connection timeout