public string ExportLibraryCSL(string[] libnames, string directory, string name)
        {
            try
            {
                var oneLibToSerialize = new CSLibrary();
                foreach (var n in libnames)
                {
                    oneLibToSerialize.Merge(Library.getFromSpecificLibrary(n));
                }

                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }
                var filePath = Path.Combine(directory, name + ".csl");

                using (FileStream fileStream = File.Create(filePath))
                {
                    Serializer.Serialize(fileStream, oneLibToSerialize);
                }

                return("Library written to " + filePath);
            }
            catch (Exception e) {
                return("Export failed " + e.Message);
            }
        }
        public string ExportLibraryCSV(string[] libnames, string directory, string name)
        {
            try
            {
                var oneLibToSerialize = new CSLibrary();
                foreach (var n in libnames)
                {
                    oneLibToSerialize.Merge(Library.getFromSpecificLibrary(n));
                }

                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }
                var filePath = Path.Combine(directory, name);

                CSV.CSVImportExport.ExportLibrary(oneLibToSerialize, filePath);

                return("Library written to " + filePath);
            }
            catch (Exception e) {
                return("Export failed " + e.Message);
            }
        }