Merged recent changes from trunk.