more idiomatic es6 module usage

this may be considered a breaking change. The reason we didn't start off this way, was just a deficiency in the transpiler, and we started in the early days of the spec