merges from ntp - upstream