https://www.machinet.net/tutorial-eng/understanding-partial-classes-in-csharp