source from : http://www.codeproject.com/Articles/773762/Some-helpful-tools