use underscore.js for iterations