more fun with csharp, bah, just a modern C. :-)