* modularize source (going ES6 modules internally) * provide exports in CJS, AMD, ES6 * add backward-compatibility breaking changes * update to ES5 or even ES6