changed discriminated unions to a nuget dependency