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