add es5 shims and more ie9 compat