http://www.codeproject.com/Articles/4300/Quick-C