Compatibility with AMD/CommonJS