jshinted & made it a UMD.. works in ES5 browsers & node