- proper backport of all changes from 1.8 branch