Migrated the source code from CodePlex