merged cherry-pick from demonstrators branch