original Codeplex Version
Refactoring (remove)