diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/ChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Checksum/ChecksumModule.cs
similarity index 100%
rename from CSharp/Libraries/UniversalEditor.Core/Checksum/ChecksumModule.cs
rename to CSharp/Libraries/UniversalEditor.Checksum/ChecksumModule.cs
diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/Adler32/Adler32ChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Checksum/Modules/Adler32/Adler32ChecksumModule.cs
similarity index 100%
rename from CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/Adler32/Adler32ChecksumModule.cs
rename to CSharp/Libraries/UniversalEditor.Checksum/Modules/Adler32/Adler32ChecksumModule.cs
diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/CRC32/CRC32ChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Checksum/Modules/CRC32/CRC32ChecksumModule.cs
similarity index 100%
rename from CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/CRC32/CRC32ChecksumModule.cs
rename to CSharp/Libraries/UniversalEditor.Checksum/Modules/CRC32/CRC32ChecksumModule.cs
diff --git a/CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs b/CSharp/Libraries/UniversalEditor.Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs
similarity index 100%
rename from CSharp/Libraries/UniversalEditor.Core/Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs
rename to CSharp/Libraries/UniversalEditor.Checksum/Modules/StrangeCRC/StrangeCRCChecksumModule.cs
diff --git a/CSharp/Libraries/UniversalEditor.Checksum/UniversalEditor.Checksum.csproj b/CSharp/Libraries/UniversalEditor.Checksum/UniversalEditor.Checksum.csproj
new file mode 100644
index 00000000..d71e1fac
--- /dev/null
+++ b/CSharp/Libraries/UniversalEditor.Checksum/UniversalEditor.Checksum.csproj
@@ -0,0 +1,59 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}
+ Library
+ Properties
+ UniversalEditor
+ UniversalEditor.Checksum
+ v4.0
+ 512
+
+ ..\..\..\..\MichaelBecker.snk
+
+
+ full
+ false
+ ..\..\Output\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ true
+ ..\..\Output\Debug\UniversalEditor.Checksum.xml
+
+
+ pdbonly
+ true
+ ..\..\Output\Release\
+ TRACE
+ prompt
+ 4
+ ..\..\Output\Release\UniversalEditor.Checksum.xml
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CSharp/Libraries/UniversalEditor.Compression/UniversalEditor.Compression.csproj b/CSharp/Libraries/UniversalEditor.Compression/UniversalEditor.Compression.csproj
index 4c9758e1..fdba260b 100644
--- a/CSharp/Libraries/UniversalEditor.Compression/UniversalEditor.Compression.csproj
+++ b/CSharp/Libraries/UniversalEditor.Compression/UniversalEditor.Compression.csproj
@@ -130,6 +130,10 @@
{2D4737E6-6D95-408A-90DB-8DFF38147E85}
UniversalEditor.Core
+
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}
+ UniversalEditor.Checksum
+
-
\ No newline at end of file
+
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessor.cs
index c9c4fa09..3d73d7c6 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessor.cs
@@ -1,3 +1,24 @@
+//
+// Accessor.cs - represents a location (file, memory, etc.) which data is read from / written to
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/AccessorReference.cs b/CSharp/Libraries/UniversalEditor.Core/AccessorReference.cs
index 21003195..89e6d665 100644
--- a/CSharp/Libraries/UniversalEditor.Core/AccessorReference.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/AccessorReference.cs
@@ -1,3 +1,24 @@
+//
+// AccessorReference.cs - stores information (metadata) about an Accessor
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessors/FileAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessors/FileAccessor.cs
index ffa1623d..3ddfea2a 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessors/FileAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessors/FileAccessor.cs
@@ -1,3 +1,24 @@
+//
+// FileAccessor.cs - provide an Accessor for reading from/writing to a file
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs
index 405bd9ba..e1085471 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessors/MemoryAccessor.cs
@@ -1,3 +1,24 @@
+//
+// MemoryAccessor.cs - provide an Accessor for reading from/writing to in-memory data
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessors/StreamAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessors/StreamAccessor.cs
index d72771c8..a5de06fc 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessors/StreamAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessors/StreamAccessor.cs
@@ -1,3 +1,24 @@
+//
+// StreamAccessor.cs - provide an Accessor for reading from/writing to a System.IO.Stream
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Diagnostics;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs
index 2be0c3a1..0a68b85f 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Accessors/StringAccessor.cs
@@ -1,3 +1,24 @@
+//
+// StringAccessor.cs - provide an Accessor for reading from/writing to a string
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System.Collections.Generic;
using System.Linq;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Association.cs b/CSharp/Libraries/UniversalEditor.Core/Association.cs
index 0bd41804..0cd5ec9f 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Association.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Association.cs
@@ -1,3 +1,24 @@
+//
+// Association.cs - explicitly associates accessor with data format and/or object model
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/AssociationCriteria.cs b/CSharp/Libraries/UniversalEditor.Core/AssociationCriteria.cs
index 96f76bad..7df09683 100644
--- a/CSharp/Libraries/UniversalEditor.Core/AssociationCriteria.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/AssociationCriteria.cs
@@ -1,3 +1,24 @@
+//
+// AssociationCriteria.cs - criteria used when looking up Associations
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Common/Path.cs b/CSharp/Libraries/UniversalEditor.Core/Common/Path.cs
index 4caa95f3..6607ef5e 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Common/Path.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Common/Path.cs
@@ -1,3 +1,24 @@
+//
+// Path.cs - common methods for path and file name manipulation
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Common/Strings.cs b/CSharp/Libraries/UniversalEditor.Core/Common/Strings.cs
index 2a7778f3..770ecf5a 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Common/Strings.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Common/Strings.cs
@@ -1,3 +1,24 @@
+//
+// Strings.cs - common methods for strings
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
diff --git a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormat.cs b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormat.cs
index e83f6921..2a9d3436 100644
--- a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormat.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormat.cs
@@ -1,3 +1,24 @@
+//
+// CustomDataFormat.cs - provide a way to declare DataFormats in platform-agnostic XML
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatFieldCondition.cs b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatFieldCondition.cs
index 97e7834e..c7c691a5 100644
--- a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatFieldCondition.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatFieldCondition.cs
@@ -1,3 +1,24 @@
+//
+// CustomDataFormatFieldCondition.cs - conditional statements used in CDF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatItem.cs b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatItem.cs
index 6f348195..1a4886f9 100644
--- a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatItem.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatItem.cs
@@ -1,3 +1,24 @@
+//
+// CustomDataFormatItem.cs - declaration of a field used in a CDF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructure.cs b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructure.cs
index 08d0c8e1..8faff7c1 100644
--- a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructure.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructure.cs
@@ -1,3 +1,24 @@
+//
+// CustomDataFormatStructure.cs - declaration of a structure used in a CDF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructureInstance.cs b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructureInstance.cs
index 6a228437..9dfc80ed 100644
--- a/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructureInstance.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/CustomDataFormatStructureInstance.cs
@@ -1,3 +1,24 @@
+//
+// CustomDataFormatStructureInstance.cs - an instance of a structure used in a CDF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/CustomOption.cs b/CSharp/Libraries/UniversalEditor.Core/CustomOption.cs
index 820cc987..4141801a 100644
--- a/CSharp/Libraries/UniversalEditor.Core/CustomOption.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/CustomOption.cs
@@ -1,3 +1,24 @@
+//
+// CustomOption.cs - UI-agnostic definition for options when loading/saving DFs, etc.
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataCorruptedException.cs b/CSharp/Libraries/UniversalEditor.Core/DataCorruptedException.cs
index 097e544a..ba798b98 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataCorruptedException.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataCorruptedException.cs
@@ -1,3 +1,24 @@
+//
+// DataCorruptedException.cs - raised when the DF thinks data has been corrupted (e.g. due to a bad checksum)
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataFormat.cs b/CSharp/Libraries/UniversalEditor.Core/DataFormat.cs
index 86418963..ab1c0d5c 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataFormat.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataFormat.cs
@@ -1,3 +1,24 @@
+//
+// DataFormat.cs - translates ObjectModel to serialized data in a particular format
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Diagnostics;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataFormatCapabilities.cs b/CSharp/Libraries/UniversalEditor.Core/DataFormatCapabilities.cs
index 11eaea2c..cd3ef23b 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataFormatCapabilities.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataFormatCapabilities.cs
@@ -1,3 +1,24 @@
+//
+// DataFormatCapabilities.cs - determines what a DF can do with a supported OM
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataFormatException.cs b/CSharp/Libraries/UniversalEditor.Core/DataFormatException.cs
index f8ef1059..031b146a 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataFormatException.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataFormatException.cs
@@ -1,3 +1,24 @@
+//
+// DataFormatException.cs - the base class for all exceptions raised from within a DF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataFormatFilter.cs b/CSharp/Libraries/UniversalEditor.Core/DataFormatFilter.cs
index 910e57eb..57364d28 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataFormatFilter.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataFormatFilter.cs
@@ -1,3 +1,24 @@
+//
+// DataFormatFilter.cs - stores magic byte / file name filters for a DF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataFormatHintComparison.cs b/CSharp/Libraries/UniversalEditor.Core/DataFormatHintComparison.cs
index 9e279c0b..aa795620 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataFormatHintComparison.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataFormatHintComparison.cs
@@ -1,3 +1,24 @@
+//
+// DataFormatHintComparison.cs - when guessing DFs based on accessor, what the priority should be
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/DataFormatReference.cs b/CSharp/Libraries/UniversalEditor.Core/DataFormatReference.cs
index 80e18cdc..b08412ee 100644
--- a/CSharp/Libraries/UniversalEditor.Core/DataFormatReference.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/DataFormatReference.cs
@@ -1,3 +1,24 @@
+//
+// DataFormatReference.cs - stores information (metadata) about a DataFormat
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Document.cs b/CSharp/Libraries/UniversalEditor.Core/Document.cs
index a8ebcfa9..851062df 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Document.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Document.cs
@@ -1,3 +1,24 @@
+//
+// Document.cs - provide convenient way of loading OM from accessor with a given DF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Diagnostics;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Endpoint.cs b/CSharp/Libraries/UniversalEditor.Core/Endpoint.cs
index 40532514..d700a242 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Endpoint.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Endpoint.cs
@@ -1,3 +1,24 @@
+//
+// Endpoint.cs - UE 5 proposed feature to represent a DF and Accessor pair
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs b/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs
index fead8412..55e3166d 100644
--- a/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/ExtensionMethods.cs
@@ -1,3 +1,24 @@
+//
+// ExtensionMethods.cs - various useful (maybe?) extension methods
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Array.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Array.cs
index 4bb54493..a221969f 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Array.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Array.cs
@@ -1,3 +1,24 @@
+//
+// Array.cs - methods to resize / copy arrays
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs
index bcb47d25..67cf9774 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Encoding.cs
@@ -1,19 +1,23 @@
-// Universal Editor input/output module for reading binary data
-// Copyright (C) 2011 Mike Becker
//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+// Encoding.cs - provides a little more than System.Text.Encoding (but not much)
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
namespace UniversalEditor.IO
{
@@ -331,4 +335,4 @@ namespace UniversalEditor.IO
return _encoding.GetByteCount(chars, index, count);
}
}
-}
\ No newline at end of file
+}
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/EndOfStreamException.cs b/CSharp/Libraries/UniversalEditor.Core/IO/EndOfStreamException.cs
index 4bbd7680..e690a9c0 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/EndOfStreamException.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/EndOfStreamException.cs
@@ -1,3 +1,24 @@
+//
+// EndOfStreamException.cs - Exception thrown when the end of stream is reached
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Endianness.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Endianness.cs
index aa42ded5..b25041ba 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Endianness.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Endianness.cs
@@ -1,19 +1,23 @@
-// Universal Editor input/output module shared code - endianness
-// Copyright (C) 2011 Mike Becker
//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+// Endianness.cs - specify big-endian or little-endian
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2011-2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
namespace UniversalEditor.IO
{
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/NewLineSequence.cs b/CSharp/Libraries/UniversalEditor.Core/IO/NewLineSequence.cs
index 49ed9920..699fadd4 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/NewLineSequence.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/NewLineSequence.cs
@@ -1,3 +1,24 @@
+//
+// NewLineSequence.cs - define CR, LF, and CR/LF new line sequences
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs
index 7fe6be96..68114c14 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Reader.cs
@@ -1,19 +1,23 @@
-// Universal Editor input/output module for reading binary data
-// Copyright (C) 2011 Mike Becker
//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+// Reader.cs - input/output module for reading binary or text data
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2011-2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
using System;
using System.Collections.Generic;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/ReaderWriterBase.cs b/CSharp/Libraries/UniversalEditor.Core/IO/ReaderWriterBase.cs
index 12c1e341..bf15593b 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/ReaderWriterBase.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/ReaderWriterBase.cs
@@ -1,3 +1,24 @@
+//
+// ReaderWriterBase.cs - common methods for implementing Reader and Writer
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/SeekOrigin.cs b/CSharp/Libraries/UniversalEditor.Core/IO/SeekOrigin.cs
index ec9e8da5..ada39b73 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/SeekOrigin.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/SeekOrigin.cs
@@ -1,3 +1,24 @@
+//
+// SeekOrigin.cs - provide equivalent to System.IO.SeekOrigin (may be removed)
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs b/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs
index 0164bcb5..78e2a874 100644
--- a/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/IO/Writer.cs
@@ -1,19 +1,23 @@
-// Universal Editor input/output module for writing binary data
-// Copyright (C) 2011 Mike Becker
//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+// Writer.cs - input/output module for writing binary or text data
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2011-2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
using System;
diff --git a/CSharp/Libraries/UniversalEditor.Core/InvalidDataFormatException.cs b/CSharp/Libraries/UniversalEditor.Core/InvalidDataFormatException.cs
index d8d62c8d..ca05d28d 100644
--- a/CSharp/Libraries/UniversalEditor.Core/InvalidDataFormatException.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/InvalidDataFormatException.cs
@@ -1,3 +1,24 @@
+//
+// InvalidDataFormatException.cs - raised when the DF has problems loading accessor
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/LastUsedAccessor.cs b/CSharp/Libraries/UniversalEditor.Core/LastUsedAccessor.cs
index 037ab663..bb3fd493 100644
--- a/CSharp/Libraries/UniversalEditor.Core/LastUsedAccessor.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/LastUsedAccessor.cs
@@ -1,3 +1,24 @@
+//
+// LastUsedAccessor.cs - whether the Input or the Output was last used (idk why)
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs b/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs
index 4f7ade2c..438f9943 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Localization/StringTable.cs
@@ -1,3 +1,24 @@
+//
+// StringTable.cs - specify some localizable strings (idk where this is used today)
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/ObjectModel.cs b/CSharp/Libraries/UniversalEditor.Core/ObjectModel.cs
index 8730c03e..0f9671ee 100644
--- a/CSharp/Libraries/UniversalEditor.Core/ObjectModel.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/ObjectModel.cs
@@ -1,3 +1,24 @@
+//
+// ObjectModel.cs - stores user-friendly, DataFormat-agnostic in-memory representation
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Text;
diff --git a/CSharp/Libraries/UniversalEditor.Core/ObjectModelNotSupportedException.cs b/CSharp/Libraries/UniversalEditor.Core/ObjectModelNotSupportedException.cs
index 5c331cec..d8b1454d 100644
--- a/CSharp/Libraries/UniversalEditor.Core/ObjectModelNotSupportedException.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/ObjectModelNotSupportedException.cs
@@ -1,3 +1,24 @@
+//
+// ObjectModelNotSupportedException.cs - raised when an OM is not supported by a DF
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/ObjectModelReference.cs b/CSharp/Libraries/UniversalEditor.Core/ObjectModelReference.cs
index f6d0f4e8..25e929dc 100644
--- a/CSharp/Libraries/UniversalEditor.Core/ObjectModelReference.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/ObjectModelReference.cs
@@ -1,3 +1,24 @@
+//
+// ObjectModelReference.cs - stores information (metadata) about an ObjectModel
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/ProgressEvent.cs b/CSharp/Libraries/UniversalEditor.Core/ProgressEvent.cs
index 3a1a19d2..f94c3aff 100644
--- a/CSharp/Libraries/UniversalEditor.Core/ProgressEvent.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/ProgressEvent.cs
@@ -1,3 +1,24 @@
+//
+// ProgressEvent.cs - provide a way to signal progress to UI from non-UI code
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.ComponentModel;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Properties/AssemblyInfo.cs b/CSharp/Libraries/UniversalEditor.Core/Properties/AssemblyInfo.cs
index 8c2ce1ef..d8174aa6 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Properties/AssemblyInfo.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Properties/AssemblyInfo.cs
@@ -1,3 +1,24 @@
+//
+// AssemblyInfo.cs - .NET assembly info
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Reflection;
using System.Runtime.CompilerServices;
diff --git a/CSharp/Libraries/UniversalEditor.Core/Ptr.cs b/CSharp/Libraries/UniversalEditor.Core/Ptr.cs
index 3406c32f..f174787b 100644
--- a/CSharp/Libraries/UniversalEditor.Core/Ptr.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/Ptr.cs
@@ -1,3 +1,24 @@
+//
+// Ptr.cs - i'm not sure what this is for now but it looks interesting
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Diagnostics;
diff --git a/CSharp/Libraries/UniversalEditor.Core/References.cs b/CSharp/Libraries/UniversalEditor.Core/References.cs
index 6feb84ac..a09dcd29 100644
--- a/CSharp/Libraries/UniversalEditor.Core/References.cs
+++ b/CSharp/Libraries/UniversalEditor.Core/References.cs
@@ -1,3 +1,24 @@
+//
+// References.cs - defines an object that references a ReferencedBy object
+//
+// Author:
+// Michael Becker
+//
+// Copyright (c) 2019
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this program. If not, see .
+
using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/CSharp/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj b/CSharp/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj
index c789503f..0b7594d3 100644
--- a/CSharp/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj
+++ b/CSharp/Libraries/UniversalEditor.Core/UniversalEditor.Core.csproj
@@ -50,10 +50,6 @@
-
-
-
-
@@ -100,4 +96,4 @@
-->
-
\ No newline at end of file
+
diff --git a/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj b/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj
index 9d0e1c14..bb72becf 100644
--- a/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj
+++ b/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/UniversalEditor.Plugins.FileSystem.csproj
@@ -234,6 +234,10 @@
{3F664673-7E22-4486-9AD0-FC81861D0B78}
UniversalEditor.Compression
+
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}
+ UniversalEditor.Checksum
+
@@ -247,4 +251,4 @@
-->
-
\ No newline at end of file
+
diff --git a/CSharp/Plugins/UniversalEditor.Plugins.Valve/UniversalEditor.Plugins.Valve.csproj b/CSharp/Plugins/UniversalEditor.Plugins.Valve/UniversalEditor.Plugins.Valve.csproj
index 6a0b840c..5e92d8e4 100644
--- a/CSharp/Plugins/UniversalEditor.Plugins.Valve/UniversalEditor.Plugins.Valve.csproj
+++ b/CSharp/Plugins/UniversalEditor.Plugins.Valve/UniversalEditor.Plugins.Valve.csproj
@@ -48,6 +48,10 @@
{2D4737E6-6D95-408A-90DB-8DFF38147E85}
UniversalEditor.Core
+
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}
+ UniversalEditor.Checksum
+
{30467E5C-05BC-4856-AADC-13906EF4CADD}
UniversalEditor.Essential
@@ -61,4 +65,4 @@
-->
-
\ No newline at end of file
+
diff --git a/CSharp/UniversalEditor.sln b/CSharp/UniversalEditor.sln
index 42a7eeee..c226e55d 100644
--- a/CSharp/UniversalEditor.sln
+++ b/CSharp/UniversalEditor.sln
@@ -13,6 +13,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Compression
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Core", "Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj", "{2D4737E6-6D95-408A-90DB-8DFF38147E85}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Checksum", "Libraries\UniversalEditor.Checksum\UniversalEditor.Checksum.csproj", "{0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.UserInterface", "Libraries\UniversalEditor.UserInterface\UniversalEditor.UserInterface.csproj", "{8622EBC4-8E20-476E-B284-33D472081F5C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Essential", "Libraries\UniversalEditor.Essential\UniversalEditor.Essential.csproj", "{30467E5C-05BC-4856-AADC-13906EF4CADD}"
@@ -163,6 +165,10 @@ Global
{2D4737E6-6D95-408A-90DB-8DFF38147E85}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2D4737E6-6D95-408A-90DB-8DFF38147E85}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D4737E6-6D95-408A-90DB-8DFF38147E85}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE}.Release|Any CPU.Build.0 = Release|Any CPU
{30467E5C-05BC-4856-AADC-13906EF4CADD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{30467E5C-05BC-4856-AADC-13906EF4CADD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{30467E5C-05BC-4856-AADC-13906EF4CADD}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -355,6 +361,7 @@ Global
{62CFC025-B8CF-42AA-880A-92F27377FCAF} = {05D15661-E684-4EC9-8FBD-C014BA433CC5}
{3F664673-7E22-4486-9AD0-FC81861D0B78} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF}
{2D4737E6-6D95-408A-90DB-8DFF38147E85} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF}
+ {0F7D5BD4-7970-412F-ABD7-0A098BB01ACE} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF}
{8622EBC4-8E20-476E-B284-33D472081F5C} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF}
{30467E5C-05BC-4856-AADC-13906EF4CADD} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF}
{29E1C1BB-3EA5-4062-B62F-85EEC703FE07} = {20F315E0-52AE-479F-AF43-3402482C1FC8}