   }
 
 
-  plugins.preload 'craftingrecipes', {}
+  plugins.add 'craftingrecipes', {}
 
   playerInventory = new Inventory(10, 5)
 
-  plugins.preload 'voxel-workbench', {playerInventory:playerInventory}
-
-  plugins.preload 'voxel-land', {populateTrees: true}
-
-  # note: preconfigure(), not preload(), so doesn't automatically enable
+  plugins.add 'voxel-workbench', {playerInventory:playerInventory}
+
+  plugins.add 'voxel-land', {populateTrees: true}
+
+  # note: preconfigure(), not add(), so doesn't automatically enable
   plugins.preconfigure 'voxel-oculus', { distortion: 0.2, separation: 0.5 } # TODO: switch to voxel-oculus-vr? https://github.com/vladikoff/voxel-oculus-vr?source=c - closer matches threejs example
 
   if window.location.href.indexOf('rift') != -1 ||  window.location.hash.indexOf('rift') != -1


  # the GUI window (built-in toggle with 'H')
  gui = new datgui.GUI()
  plugins.preload 'voxel-debug', {gui:gui}
  plugins.preload 'voxel-plugins-ui', {gui:gui}
  plugins.preload 'kb-bindings-ui', {gui:gui, kb:game.buttons}


  plugins.loadOrderly()
  ## plugins are loaded from here on out ##

  # recipes

  #playerInventory.give new ItemPile('plankOak', 10)
  #playerInventory.give new ItemPile('logBirch', 5)
  #playerInventory.give new ItemPile('workbench', 1)
  plugins.add 'voxel-inventory-hotbar', {inventory:playerInventory, inventorySize:10}

  plugins.add 'voxel-inventory-dialog', {playerInventory:playerInventory}

  REACH_DISTANCE = 8
  plugins.add 'voxel-reach', { reachDistance: REACH_DISTANCE }
  # left-click hold to mine
  plugins.add 'voxel-mine', {
    timeToMine: (target) =>
      # the innate difficulty of mining this block
      blockID = game.getBlock(target.voxel)
