various extensions for .NET