use module.hasOwnProperty(exports) instead module.exports so it works with CJS to AMD converter