fixed conflict
merged from upstream