add timeout limit for connection