diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,2 @@
 import Distribution.Simple
-main = defaultMain
+main = defaultMainWithHooks autoconfUserHooks
diff --git a/SoccerFun.cabal b/SoccerFun.cabal
--- a/SoccerFun.cabal
+++ b/SoccerFun.cabal
@@ -1,5 +1,5 @@
 Name:           SoccerFun
-Version:        0.3.4
+Version:        0.3.5
 Copyright:      (c) 2010, Jan Rochel
 License:        BSD3
 License-File:   LICENSE
@@ -10,32 +10,33 @@
 Synopsis:       Football simulation framework for teaching functional programming
 Homepage:       http://www.cs.ru.nl/~peter88/SoccerFun/SoccerFun.html
 Description:
-	This is a Haskell port of the the SoccerFun framework originally implemented in Clean.
-	From the website: Soccer-Fun is an educational project to stimulate functional programming by thinking about, designing, implementing, running, and competing with the brains of football players! It is open for participation by everybody who likes to contribute. It is not restricted to a particular functional programming language.
+  This is a Haskell port of the the SoccerFun framework originally implemented in Clean. From the website: Soccer-Fun is an educational project to stimulate functional programming by thinking about, designing, implementing, running, and competing with the brains of football players! It is open for participation by everybody who likes to contribute. It is not restricted to a particular functional programming language.
 Category:       Game, Education, AI
 Cabal-Version:  >= 1.6
-Extensions:     UnicodeSyntax, NamedFieldPuns, Rank2Types, ExistentialQuantification, FlexibleInstances
-Data-Files:	template/Makefile template/*.hs
-Build-Depends:
-	base >= 4 && < 4.3,
-	base-unicode-symbols >= 0.2 && < 0.3,
-	GLUT >= 2.2 && < 2.3,
-	OpenGL >= 2.4 && < 2.5,
-	random >= 1.0 && < 1.1,
-	mtl >= 1.1 && < 1.2
-Exposed-Modules:
-	SoccerFun.UI.GL
-	SoccerFun.Ball
-	SoccerFun.Types
-	SoccerFun.Team
-	SoccerFun.Geometry
-	SoccerFun.Field
-	SoccerFun.Player
-	SoccerFun.RefereeAction
-Other-Modules:
-	SoccerFun.MatchGame
-	SoccerFun.MatchControl
-	SoccerFun.Referee
-	SoccerFun.Referee.Ivanov
-	SoccerFun.Random
-	SoccerFun.Prelude
+Data-Files:     template/Makefile template/*.hs
+
+Library
+  Extensions:     UnicodeSyntax, NamedFieldPuns, Rank2Types, ExistentialQuantification, FlexibleInstances
+  Build-Depends:
+    base >= 4 && < 4.3,
+    base-unicode-symbols >= 0.2 && < 0.3,
+    GLUT >= 2.2 && < 2.3,
+    OpenGL >= 2.4 && < 2.5,
+    random >= 1.0 && < 1.1,
+    mtl >= 1.1 && < 1.2
+  Exposed-Modules:
+    SoccerFun.UI.GL
+    SoccerFun.Ball
+    SoccerFun.Types
+    SoccerFun.Team
+    SoccerFun.Geometry
+    SoccerFun.Field
+    SoccerFun.Player
+    SoccerFun.RefereeAction
+  Other-Modules:
+    SoccerFun.MatchGame
+    SoccerFun.MatchControl
+    SoccerFun.Referee
+    SoccerFun.Referee.Ivanov
+    SoccerFun.Random
+    SoccerFun.Prelude
diff --git a/SoccerFun/Geometry.hs b/SoccerFun/Geometry.hs
--- a/SoccerFun/Geometry.hs
+++ b/SoccerFun/Geometry.hs
@@ -249,10 +249,12 @@
 
 angleWithObject ∷ Position → Position → Angle
 angleWithObject base target
-	| a >= (0.5*pi) && b >= 0 = ((-pi)+a) -- linksvoor, naar boven, negatieve hoek, -0.5*pi < hoek < 0
-	| a <= (0.5*pi) && b >= 0 = (-pi)+b -- linksachter, naar beneden, negatieve hoek, -0.5*pi < hoek < -pi
-	| a <= (0.5*pi) && b <= 0 = pi+b -- rechtsachter, naar beneden, positieve hoek, 0.5*pi < hoek < pi
-	| a >= (0.5*pi) && b <= 0 = (-b) -- rechtsvoor, naar boven, positieve hoek, 0 < hoek < 0.5*pi
+	| a >= 0.5*pi = if b >= 0 then a - pi else -b
+	| otherwise   = if b >= 0 then b - pi else pi + b
+--	| a >= 0.5*pi && b >= 0 = ((-pi)+a) -- linksvoor, naar boven, negatieve hoek, -0.5*pi < hoek < 0
+--	| a <= 0.5*pi && b >= 0 = (-pi)+b -- linksachter, naar beneden, negatieve hoek, -0.5*pi < hoek < -pi
+--	| a <= 0.5*pi && b <= 0 = pi+b -- rechtsachter, naar beneden, positieve hoek, 0.5*pi < hoek < pi
+--	| a >= 0.5*pi && b <= 0 = (-b) -- rechtsvoor, naar boven, positieve hoek, 0 < hoek < 0.5*pi
 	where
 	v = RVector (px base-px target) (py base-py target)
 	d = dist base target
