manual merge from SVN trunk