diff --git a/dph-examples.cabal b/dph-examples.cabal
--- a/dph-examples.cabal
+++ b/dph-examples.cabal
@@ -1,7 +1,7 @@
 
 
 Name:                dph-examples
-Version:             0.7.0.3
+Version:             0.7.0.4
 License:             BSD3
 License-file:        LICENSE
 Author:              The DPH Team
@@ -57,7 +57,7 @@
 Executable dph-smoke-indices
   Build-depends:  base == 4.6.*, vector == 0.10.*, random == 1.0.*, old-time == 1.1.*, containers == 0.5.*, dph-base == 0.7.*, dph-prim-par == 0.7.*, dph-lifted-vseg == 0.7.*, HUnit == 1.2.*
   Main-is:        Main.hs
-  other-modules:  Vectorised
+  other-modules:  Vectorised Vector
   hs-source-dirs: examples/smoke/sharing/Indices lib
   ghc-options:    -eventlog -rtsopts -threaded -fllvm -Odph -package dph-lifted-vseg -fcpr-off -fsimpl-tick-factor=1000
  
diff --git a/examples/smoke/sharing/Indices/Vector.hs b/examples/smoke/sharing/Indices/Vector.hs
new file mode 100644
--- /dev/null
+++ b/examples/smoke/sharing/Indices/Vector.hs
@@ -0,0 +1,17 @@
+{-# LANGUAGE BangPatterns #-}
+module Vector (treeLookup) where
+import Data.Vector.Unboxed              (Vector)
+import qualified Data.Vector.Unboxed    as U
+
+
+treeLookup :: Vector Int -> Vector Int -> Vector Int
+treeLookup table xx
+ | U.length xx == 1
+ = U.singleton (table U.! (xx U.! 0))
+        
+ | otherwise
+ = let   len     = U.length xx
+         half    = len `div` 2
+         s1      = U.slice 0    half xx
+         s2      = U.slice half half xx           
+   in    U.concat (map (treeLookup table) [s1, s2])
