AMD/CommonJS support