CommonJS compat