updated to use Grunt and requireJS optimizer