upstream

merge schischu changes