Merged latest changes from upstream