changing to .NET article implementation