add underscore.js support