porting recent changes from master ie9 fixes.