Visual Basic Code
http://msdn.microsoft.com/coding4fun/archive/article.aspx?articleid=1337418