added step 4 migrated to es6 modules