   }
 
 
-  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

  }

  # right-click to place block (etc.)
  plugins.preload 'voxel-use', {}

  # handles 'break' event from voxel-mine (left-click hold breaks blocks), collects block and adds to inventory
  plugins.preload 'voxel-harvest', {
    playerInventory:playerInventory,
    block2ItemPile: (blockName) ->
      # TODO: use registry? more data-driven

  }

  # highlight blocks when you look at them
  highlight = plugins.add 'voxel-highlight', {
    color:  0xff0000
    distance: REACH_DISTANCE
    adjacentActive: () -> false   # don't hold <Ctrl> for block placement (right-click instead, 'reach' plugin)
