text: (function(ext) {
      // Cleanup function when the extension is unloaded
      ext._shutdown = function() {};
  
      // Status reporting code
      // Use this to report missing hardware, plugin or unsupported browser
      ext._getStatus = function() {
          return {status: 2, msg: 'Ready'};
      };
  
      ext.my_first_block = function() {
          // Code that gets executed when the block is run
          alert("hello world");
      };
  
      // Block and block menu descriptions
      var descriptor = {
          blocks: [
              // Block type, block name, function name
              [' ', 'hello world', 'my_first_block'],
          ]
      };
  
      // Register the extension
      ScratchExtensions.register('My first extension', descriptor, ext);
  })({});
  