old_contents: 'use strict';
  
  
  module.exports = function (grunt) {
  
      //npm install
      grunt.registerTask('npm_install', 'install dependencies', function() {
          var exec = require('child_process').exec;
          var cb = this.async();
          exec('npm install', {cwd: './'}, function(err, stdout) {
              console.log(stdout);
              cb();
          });
      });
  
      grunt.registerTask('open_coverage', 'open coverage report in default browser', function() {
          var exec = require('child_process').exec;
          var cb = this.async();
          exec('open coverage/lcov-report/index.html', {cwd: './'}, function(err, stdout) {
              console.log(stdout);
              cb();
          });
      });
  
      // Load the project's grunt tasks from a directory
      require('grunt-config-dir')(grunt, {
          configDir: require('path').resolve('tasks')
      });
  
      // Register group tasks
      // grunt.registerTask('build', [ 'jshint', 'i18n', 'copyto' ]);
      // grunt.registerTask('test', [ 'jshint', 'mochacli' ]);
  
      // Register group tasks
      grunt.registerTask('clean_all', [ 'clean:node_modules', 'clean:coverage', 'npm_install' ]);
      grunt.registerTask('test', ['env:test', 'clean:coverage', 'jshint', 'mocha_istanbul']);
      grunt.registerTask('coverage', ['test', 'open_coverage']);
      grunt.registerTask('zip', ['compress:icd10-api']);
      grunt.registerTask('serve', ['env:sandbox', 'jshint','develop','watch']);
  };
  
new_contents: 'use strict';
  
  
  module.exports = function (grunt) {
  
      // Load the project's grunt tasks from a directory
      require('grunt-config-dir')(grunt, {
          configDir: require('path').resolve('tasks')
      });
  
      /*
       * Register group tasks
       */
  
      //npm install
      grunt.registerTask('npm_install', 'install dependencies', function() {
          var exec = require('child_process').exec;
          var cb = this.async();
          exec('npm install', {cwd: './'}, function(err, stdout) {
              console.log(stdout);
              cb();
          });
      });
  
      grunt.registerTask('open_coverage', 'open coverage report in default browser', function() {
          var exec = require('child_process').exec;
          var cb = this.async();
          exec('open coverage/lcov-report/index.html', {cwd: './'}, function(err, stdout) {
              console.log(stdout);
              cb();
          });
      });
  
      grunt.registerTask('clean_all', [ 'clean:node_modules', 'clean:coverage', 'npm_install' ]);
      grunt.registerTask('test', ['env:test', 'clean:coverage', 'jshint', 'mocha_istanbul']);
      grunt.registerTask('coverage', ['test', 'open_coverage']);
      grunt.registerTask('zip', ['compress:icd10-api']);
      grunt.registerTask('serve', ['env:sandbox', 'jshint','develop','watch']);
  };
  
subject: Update grunt task ordering