ability to register new types
ES6 Modules