Add Underscore.js
Refactoring of compiler code