removed dependancy on underscore.js