initial rev of pump.js (copy of profile.js)