diff --git a/app/src/Main.hs b/app/src/Main.hs
--- a/app/src/Main.hs
+++ b/app/src/Main.hs
@@ -138,6 +138,9 @@
                               buildPhotonMap (sceneGraph renderSettings) cornellBoxLights numPhotons
           | otherwise = (Nothing, map notInPhotonMap (lights renderSettings))
 
+  -- Display message about irradiance cache
+  Prelude.putStrLn (if useIrradianceCache renderSettings then "Irradiance caching enabled" else "Irrradiance caching disabled")
+
   -- Render the image
   let renderSettings' = renderSettings { lights = lights' }
   let maxMipLevel = 8
diff --git a/app/src/RayTrace.hs b/app/src/RayTrace.hs
--- a/app/src/RayTrace.hs
+++ b/app/src/RayTrace.hs
@@ -117,7 +117,9 @@
 photonMapGlobalIllumination :: Maybe PhotonMap -> SurfaceLocation -> IrradianceCache -> Object -> RenderContext -> (Colour, IrradianceCache)
 photonMapGlobalIllumination (Just photonMap) !surfaceLocation irrCache obj renderContext = 
     case renderMode renderContext of
-      PhotonMapper -> query irrCache surfaceLocation irradiance'
+      PhotonMapper -> if useIrradianceCache renderContext
+                      then query irrCache surfaceLocation irradiance'
+                      else (irradiance photonMap (photonMapContext renderContext) (material obj) surfaceLocation, irrCache)
       _ -> undefined -- Shouldn't hit this path...
     where
       irradiance' x = (irradiance photonMap (photonMapContext renderContext) (material obj) x, irrCacheSampleRadius)
diff --git a/app/src/Tests/OctreeTest.hs b/app/src/Tests/OctreeTest.hs
new file mode 100644
--- /dev/null
+++ b/app/src/Tests/OctreeTest.hs
@@ -0,0 +1,24 @@
+module Tests.OctreeTest where
+
+import Test.HUnit
+import Vector
+import Octree
+
+test_create = TestCase (assertEqual "create" expectedResult ((create box) :: OctTree Int))
+    where
+      box = (Vector (-10) (-10) (-10) 1, Vector 10 10 10 1)
+      octChildren = [
+          (OctTreeDummy (Vector (-10) (-10) (-10) 1, Vector 0 0 0 1)) :: OctTree Int,
+          (OctTreeDummy (Vector 0 (-10) (-10) 1, Vector 10 0 0 1)) :: OctTree Int,
+          (OctTreeDummy (Vector (-10) 0 (-10) 1, Vector 0 10 0 1)) :: OctTree Int,
+          (OctTreeDummy (Vector 0 0 (-10) 1, Vector 10 10 0 1)) :: OctTree Int,
+          (OctTreeDummy (Vector (-10) (-10) 0 1, Vector 0 0 10 1)) :: OctTree Int,
+          (OctTreeDummy (Vector 0 (-10) 0 1, Vector 10 0 10 1)) :: OctTree Int,
+          (OctTreeDummy (Vector (-10) 0 0 1, Vector 0 10 10 1)) :: OctTree Int,
+          (OctTreeDummy (Vector 0 0 0 1, Vector 10 10 10 1)) :: OctTree Int
+          ]
+      expectedResult = (OctTreeNode (Vector (-10) (-10) (-10) 1, Vector 10 10 10 1) octChildren) :: OctTree Int
+
+tests_Octree = TestList [
+                TestLabel "Creation" test_create
+               ]
diff --git a/app/src/Tests/UnitTests.hs b/app/src/Tests/UnitTests.hs
--- a/app/src/Tests/UnitTests.hs
+++ b/app/src/Tests/UnitTests.hs
@@ -3,8 +3,9 @@
 import Tests.VectorTest
 import Tests.BoundingBoxTest
 import Tests.ColourTest
+import Tests.OctreeTest
 import Test.HUnit
 
-unitTests = [tests_Vector, tests_BoundingBox, tests_Colour]
+unitTests = [tests_Vector, tests_BoundingBox, tests_Colour, tests_Octree]
 
 main = mapM runTestTT unitTests
diff --git a/crocodile.cabal b/crocodile.cabal
--- a/crocodile.cabal
+++ b/crocodile.cabal
@@ -8,8 +8,10 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             0.1
+Version:             0.1.1
 
+stability:	     Experimental
+
 -- A short (one-line) description of the package.
 Synopsis:            An offline renderer supporting ray tracing and photon mapping
 
@@ -55,4 +57,8 @@
   
   Hs-Source-Dirs: app/src
   
-  ghc-options: -O2 -fext-core -fexcess-precision -funfolding-use-threshold=16 -funbox-strict-fields -funfolding-keeness-factor=10 -threaded -rtsopts -fwarn-missing-signatures -Wall -feager-blackholing
+  ghc-options: -O2 -fexcess-precision -funbox-strict-fields -threaded -rtsopts -fwarn-missing-signatures -Wall -O2 -fspec-constr -fliberate-case -fstatic-argument-transformation
+
+source-repository head
+  type: git
+  location: git://github.com/TomHammersey/HaskellRenderer.git
