amd/commonjs support