Merged latest changes from trunk.