Latest from upstream

Pull latest changes from upstream master