Merged changes from trunk.