void ParseCategory(Listings parent, string category)
    {
        string front;
        int start = 0;

        // check if subcatagories listed in string
        if ((start = category.IndexOf("/")) >= 0)
            front = category.Substring(0, start);
        else
            front = category;

        Listings subCategory = parent.FindSubCatagory(front);
        if (subCategory == null)
        {
            // Add subcategory to parent
            subCategory = new Listings();
            subCategory.category = front;
            subCategory.parent = parent;
            SortIntoCategory(parent.subCategories, subCategory, front);
            //parent.subCategories.Add(subCategory);
        }

        // Put further sub-subcategories into this subcategory
        if (start >= 0)
        {
			string temp = category.Substring(start+1, category.Length - (start  + 1));
            ParseCategory(subCategory, temp);
        }
    }
 void AddtoCategory(InteractionMap item, Listings parent, string category)
 {
     string front;
     int start;
     // check if subcatagories listed in string
     if ((start = category.IndexOf("/")) >= 0)
     {
         front = category.Substring(0, start);
         AddtoCategory(item, parent.FindSubCatagory(front), category.Substring(start + 1, category.Length - (start+1)));
     }
     else
     {
         Listings subcat = parent.FindSubCatagory(category);
         subcat.items.Add(item);
     }
 }