make it commonjs compatible