a shim for ecmascript