Main Class (http://csharppad.com/gist/9266999)