merged from trunk