Rough sketch. Needs NuGet setup