public void SaveAll()
 {
     if (list.Count != names.Count)
     {
         throw new Exception("FunctionSet missmatch");
     }
     for (int i = 0; i < list.Count; i++)
     {
         if (names[i].Length == 0)
         {
             continue;
         }
         AForgeFunction.SaveList(list[i], dir + @"\" + names[i] + ".aforge" + type);
     }
 }
        public void Save(string name, BindingList <AForgeFunction> l)
        {
            int i;

            for (i = 0; i < names.Count; i++)
            {
                if (names[i].Equals(name))
                {
                    list[i] = l;
                    break;
                }
            }
            if (i == names.Count)
            {
                //add it because it doesn't exist
                names.Add(name);
                list.Add(l);
            }
            // save it
            AForgeFunction.SaveList(l, dir + @"\" + names[i] + ".aforge" + type);
        }