merge with master
merge from SVN trunk