got rid of underscore.js dependency