SVN import
Merge branch 'master' into svn
Refactored.