diff --git a/GLFW-b-demo.cabal b/GLFW-b-demo.cabal
--- a/GLFW-b-demo.cabal
+++ b/GLFW-b-demo.cabal
@@ -1,5 +1,5 @@
 name:         GLFW-b-demo
-version:      0.0.3
+version:      0.1
 
 category:     Graphics
 
@@ -36,6 +36,7 @@
   build-depends:
     GLFW-b == 0.*,
     OpenGL == 2.4.*,
+    GLURaw == 1.1.*,
     base   == 4.*
 
   ghc-options: -Wall -O2
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -2,7 +2,8 @@
 
 import Control.Monad (liftM, unless, when)
 
-import qualified Graphics.Rendering.OpenGL as GL
+import qualified Graphics.Rendering.GLU.Raw as GLU
+import qualified Graphics.Rendering.OpenGL  as GL
 
 import qualified Graphics.UI.GLFW as GLFW
 
@@ -40,8 +41,9 @@
     GL.light    (GL.Light 0) GL.$= GL.Enabled
 
 windowSizeCallback :: Int -> Int -> IO ()
-windowSizeCallback w h =
+windowSizeCallback w h = do
     GL.viewport GL.$= (GL.Position 0 0, GL.Size (fromIntegral w) (fromIntegral h))
+    GLU.gluPerspective 45 (fromIntegral w / fromIntegral h) 0.1 100
 
 start :: IO ()
 start =
