added connecttimeout and replytimeout and key-value pair constructor