'use strict'
var EventManager = require('./src/eventManager')
var traceHelper = require('./src/helpers/traceHelper')
var uiHelper = require('./src/helpers/uiHelper')
var SourceMappingDecoder = require('./src/sourceMappingDecoder')
var SourceLocationTracker = require('./src/sourceLocationTracker')
var init = require('./src/init')
var util = require('./src/util')
var Web3Providers = require('./src/web3Provider/web3Providers')
var DummyProvider = require('./src/web3Provider/dummyProvider')
var AstWalker = require('./src/astWalker')
var global = require('./src/global')
var styleGuide = require('./src/ui/style-guide')

if (typeof (module) !== 'undefined' && typeof (module.exports) !== 'undefined') {
  module.exports = modules()
}

if (typeof (window) !== 'undefined') {
  window.remix = modules()
}

function modules () {
  return {
    EventManager: EventManager,
    helpers: {
      trace: traceHelper,
      ui: uiHelper
    },
    vm: {
      Web3Providers: Web3Providers,
      DummyProvider: DummyProvider
    },
    SourceMappingDecoder: SourceMappingDecoder,
    SourceLocationTracker: SourceLocationTracker,
    init: init,
    util: util,
    AstWalker: AstWalker,
    global: global,
    ui: {
      styleGuide: styleGuide
    }
  }
}

@@ -481,24 +481,90 @@
 yProvider')%0A
+var Web3VMProvider = require('./src/web3Provider/web3VmProvider')%0A
 var AstWalke
@@ -1076,16 +1076,54 @@
 Provider
+,%0A      Web3VMProvider: Web3VMProvider
 %0A    %7D,%0A

add web3VMProvider to index.js