diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+2010.10.20.
+---------------------------------------------
+Float vs GLfloat problem fixed
+README building part updated
+
+
 2009.07.02
 ---------------------------------------------
 Cabalized
diff --git a/Etc.hs b/Etc.hs
--- a/Etc.hs
+++ b/Etc.hs
@@ -12,7 +12,7 @@
 double2float = realToFrac
 
 
-piPer2 :: Float
+piPer2 :: GLfloat
 piPer2 = pi / 2.0
 
 
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -124,7 +124,7 @@
 updateGame :: State -> (GLFW.KeyButtonState,
                         GLFW.KeyButtonState,
                         GLFW.KeyButtonState,
-                        GLFW.KeyButtonState) -> Float -> State
+                        GLFW.KeyButtonState) -> GLfloat -> State
 updateGame state keys dt =
   if isCubeUpdated cube0 cube1
     then
@@ -255,7 +255,7 @@
   -- dt
   nowD <- get time
   let now = double2float nowD
-  let dt = now - lastTime
+  let dt = realToFrac $ now - lastTime
 
   -- game
   newState <- update state dt
diff --git a/Paths_bloxorz.hs.1 b/Paths_bloxorz.hs.1
new file mode 100644
--- /dev/null
+++ b/Paths_bloxorz.hs.1
@@ -0,0 +1,4 @@
+module Paths_bloxorz where
+
+getDataFileName :: FilePath -> IO FilePath
+getDataFileName = return
diff --git a/Quaternion.hs b/Quaternion.hs
--- a/Quaternion.hs
+++ b/Quaternion.hs
@@ -4,12 +4,12 @@
 import Graphics.Rendering.OpenGL.GL
 
 
-type Quaternion = (Float, Float, Float, Float) -- w x y z
+type Quaternion = (GLfloat, GLfloat, GLfloat, GLfloat) -- w x y z
 
 quatIdentity :: Quaternion
 quatIdentity = (1.0, 0.0, 0.0, 0.0)
 
-quatFromAngleAxis :: Float -> Float -> Float -> Float -> Quaternion
+quatFromAngleAxis :: GLfloat -> GLfloat -> GLfloat -> GLfloat -> Quaternion
 quatFromAngleAxis angle ax ay az = (w, x, y, z)
   where
     w = cos half
diff --git a/README b/README
--- a/README
+++ b/README
@@ -10,7 +10,16 @@
 written as a homework.
 
 Building:
-  ghc --make -O2 -o bloxorz Main.hs
+  (a) the easy and prefered way: Cabal
+      $ cabal install bloxorz
+
+  (b) the other easy way: make
+      $ make
+
+  (c) the hard way: by hand
+      $ cp Paths_bloxorz.hs.1 Paths_bloxorz.hs
+      $ ghc --make -O2 -o bloxorz Main.hs
+
 
 Controls:
   Esc, q - Quit
diff --git a/bloxorz.cabal b/bloxorz.cabal
--- a/bloxorz.cabal
+++ b/bloxorz.cabal
@@ -1,5 +1,5 @@
 Name:                bloxorz
-Version:             0.1
+Version:             0.1.1
 Synopsis:	     OpenGL Logic Game
 Description:	     Roll the block on the board to the end hole.
 License:             GPL
@@ -8,12 +8,12 @@
 Category:            Game
 Build-Type:          Simple
 Cabal-Version:       >= 1.2
-Tested-with:         GHC==6.8.2
-Extra-Source-Files:  README, CHANGELOG, TODO, makefile
+Tested-with:         GHC==6.12.1
+Extra-Source-Files:  README, CHANGELOG, TODO, makefile, Paths_bloxorz.hs.1
 Data-Files:	     data/bg.tga, data/cube.tga, data/floor.tga
 
 Executable bloxorz
   Executable:          bloxorz
   Main-is:             Main.hs
-  Build-Depends:       base > 3 && < 4, OpenGL, GLFW
+  Build-Depends:       base >= 3 && < 5, OpenGL >= 2.3, GLFW
   Other-Modules:       Cubezor, Etc, Maps, Quaternion
diff --git a/makefile b/makefile
--- a/makefile
+++ b/makefile
@@ -1,5 +1,5 @@
 PROGRAM = bloxorz
-OBJS = Quaternion.o Maps.o Paths_Bloxorz.o Etc.o Cubezor.o Main.o
+OBJS = Quaternion.o Maps.o Paths_bloxorz.o Etc.o Cubezor.o Main.o
 
 all: build
 
@@ -13,3 +13,6 @@
 
 %.o: %.hs
 	ghc -O2 -c -o $@ $<
+
+Paths_bloxorz.hs:
+	cp Paths_bloxorz.hs.1 Paths_bloxorz.hs
