https://puresourcecode.com/dotnet/csharp/map-base-class-to-derive-class/
Map base class to derive class