/// <summary>
        /// updates a rows information based on the instance of dataname found in the worksheet
        /// </summary>
        /// <param name="worksheet"></param>
        /// <param name="rowNumber">The number of the row to be modified</param>
        /// <param name="newData"></param>
        public static void ModifyRowData(this GS2U_Worksheet worksheet, int rowNumber, Dictionary <string, string> newData)
        {
            if (worksheet.GetWorksheetSize().y < rowNumber)
            {
                Debug.Log("Worksheet is smaller than rowNumber to edit");
                return;
            }

            ListFeed  feed = worksheet.LoadListFeedWorksheet();
            ListEntry row  = (ListEntry)feed.Entries[rowNumber - 1];

            foreach (var entry in newData)
            {
                bool found = false;
                foreach (ListEntry.Custom element in row.Elements)
                {
                    if (element.LocalName.ToLower() == entry.Key.ToLower())
                    {
                        element.Value = entry.Value;
                        found         = true;
                        break;
                    }
                }
                if (!found)
                {
                    Debug.LogError("No field found for " + entry.Key);
                }
            }

            row.Update();
        }
        /// <summary>
        /// Add a new row of data to the bottom of the worksheet
        /// </summary>
        /// <param name="worksheet"></param>
        /// <param name="newData"></param>
        public static void AddRowData(this GS2U_Worksheet worksheet, Dictionary <string, string> newData)
        {
            ListFeed feed = worksheet.LoadListFeedWorksheet();

            ListEntry newRow = new ListEntry();

            foreach (var entry in newData)
            {
                newRow.Elements.Add(new ListEntry.Custom()
                {
                    LocalName = entry.Key.ToLower(), Value = entry.Value.ToLower()
                });
            }

            SpreadSheetManager.service.Insert(feed, newRow);
        }
        /// <summary>
        /// Deletes the first row found using nameID
        /// </summary>
        /// <param name="worksheet"></param>
        /// <param name="rowNumber">Row number to be removed</param>
        public static void DeleteRowData(this GS2U_Worksheet worksheet, int rowNumber)
        {
            if (worksheet.GetWorksheetSize().y < rowNumber)
            {
                Debug.Log("Worksheet is smaller than rowNumber to edit");
                return;
            }

            if (rowNumber > 0)
            {
                ListFeed feed = worksheet.LoadListFeedWorksheet();

                ListEntry row = (ListEntry)feed.Entries[rowNumber - 1];

                row.Delete();
            }
            else
            {
                Debug.Log("Invalid Row Number");
            }
        }