use Object.prototype.hasOwnProperty.call instead of obj.hasOwnProperty

Closes #33