Updated client with timeouts