Codeproject article published by Florian Rappl, 2012. This work is licensed under the CPL.