revamp: modular organization with requirejs