//------------------------------------------------------------------------------------------------
        public Frame<DateTime, string> getAllFuturesPricesInDateRange(IEnumerable<string> tickers, DateTime start, DateTime end, ICarbonClient client)
        //------------------------------------------------------------------------------------------------
        {
            //= new CarbonClient("uat");
            List<KeyValuePair<string /*contract*/, Series<DateTime, double>/*timeseries*/>> FrameBuilderList = new List<KeyValuePair<string, Series<DateTime, double>>>();

            /* ASSUME THIS IS EOD ONLY */ 
            // Carbon needs this to be in UTC
            start = new DateTime(start.Year, start.Month, start.Day, 0, 0, 0, DateTimeKind.Utc);
            end = new DateTime(end.Year, end.Month, end.Day, 0, 0, 0, DateTimeKind.Utc);

            // Get the settles:
            foreach (string ticker in tickers)
            {
                string full_ticker = ticker + " COMDTY";
                var res = client.GetTimeSeriesInFrameAsync(full_ticker, "eod", start, end);
                
                if (res.IsFaulted) continue;
                if (!res.Result.ContainsKey(full_ticker))
                {
                    // Check to see what ticker it's like (TUH16 vs TUH6)
                    double tickerDecade = 0.0;
                    char tickerTrialChar = ticker[ticker.Length - 2];
                    bool bDecadePresent = double.TryParse(tickerTrialChar.ToString(), out tickerDecade);


                    // If it's like TUH16, try TUH6
                    if (bDecadePresent)
                    {
                        string sTmp = ticker.Substring(0, ticker.Length - 2) + ticker[ticker.Length - 1];
                        full_ticker = sTmp + " COMDTY";
                        res = client.GetTimeSeriesInFrameAsync(full_ticker, "eod", start, end);

                    }
                    else
                    {
                        // Otherwise, try to make TUH6 into like TUH16.
                        string sYear = DateTime.Today.Year.ToString();
                        char currentDecade = sYear[sYear.Length - 2];
                        string sTmp = ticker.Insert(ticker.Length - 1, currentDecade.ToString());
                        full_ticker = sTmp + " COMDTY";
                        res = client.GetTimeSeriesInFrameAsync(full_ticker, "eod", start, end);
                       
                    }
                    // Otherwise, give up.
                    if (!res.Result.ContainsKey(full_ticker)) continue;
                    
                }
                var frame = res.Result[full_ticker];
                var tmp = frame;
                if (!tmp.IsEmpty && tmp.ColumnKeys.Contains("settle"))
                {
                    var xyz = tmp.Columns["settle"];
                    Series<DateTime, double> keySeries = tmp.TryGetColumn<double>("settle", Lookup.Exact).ValueOrDefault.Sort();
                    keySeries = keySeries.SortByKey(); // Carbon no longer sorts this.

                    FrameBuilderList.Add(KeyValue.Create(ticker, keySeries));
                }
            }

            var df = Frame.FromColumns(FrameBuilderList).Where(kvp => dateRange_.Contains(kvp.Key)); // Filter out extra rows

            return df;
        }