rework to fit Google closure style, add dependency on js-base