heavy refactoring:
use --harmony and "use strict"
standardize style across modules and classes