migrated from codeplex (rev. c3b818cd2840)