migrate to commonjs