commonjs, amd, vanilla support