OpenTyrian: merged upstream changes