adds many new deps
cleanup, move code into build.js
add message formatter