merged from 'trunk'