Merged latest changes from trunk.
18 files changed