use CommonJS if available