Merged latest changes from trunk.
70 files changed