base build system (based on grunt.js)