Merged latest changes from original repo.