Merged latest changes from stable branch.