diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -29,7 +29,7 @@
 	term ← parseFile file
 	let hypergraph = resolve term
 	let graph = execGraph (apply $ exhaustive compileShare) (wrapGraph hypergraph)
-	UI.run 40 id layoutStep graph ruleTree
+	UI.run 50 id layoutStep graph ruleTree
 
 layoutStep n = do
 	(cgf, cf, sf, rot) ← readOnly $ do
@@ -38,17 +38,17 @@
 		sf ← springForce 1.5 n
 		rot ← angularMomentum n
 		return (cgf, cf, sf, rot)
-	Unsafe.adjustNode (Position . sf (*0.9) . cgf (*0.01) . cf (\x → min (100/(x^2+0.1)) 10) . position) n
+	Unsafe.adjustNode (Position . sf (\x → min 10 (x*0.9)) . cgf (\x → min 10 (x*0.01)) . cf (\x → min 10 (100/(x^2+0.1))) . position) n
 	Unsafe.adjustNode (rot (*0.9)) n
 
 ruleTree = Branch "All"
-	[Branch "All but Beta"
+	[Leaf "Beta Reduction" beta,
+	 Branch "All but Beta"
 	 	[Leaf "Duplicate" duplicate,
 	 	 Leaf "Eliminate" (eliminateDelimiter <|> eliminateDuplicator),
 	 	 Leaf "Annihilate" annihilate,
 	 	 Leaf "Commute Delimiter" commuteDelimiter,
 	 	 Leaf "Erase" eraser, 
 	 	 Branch "Primitive" [Leaf "Constant" applyConstant, Leaf "Function" applyFunction]],
-	 Leaf "All but Beta (exhaustively)" $ exhaustive $ anyOf [duplicate, eliminateDelimiter, eliminateDuplicator, annihilate, commuteDelimiter, eraser, applyConstant, applyFunction],
-	 Leaf "Beta Reduction" beta]
+	 Leaf "All but Beta (exhaustively)" $ exhaustive $ anyOf [duplicate, eliminateDelimiter, eliminateDuplicator, annihilate, commuteDelimiter, eraser, applyConstant, applyFunction]]
 --	 Leaf "\"Readback\"" readback]
diff --git a/graph-rewriting-lambdascope.cabal b/graph-rewriting-lambdascope.cabal
--- a/graph-rewriting-lambdascope.cabal
+++ b/graph-rewriting-lambdascope.cabal
@@ -1,5 +1,5 @@
 Name:           graph-rewriting-lambdascope
-Version:        0.4.6
+Version:        0.4.7
 Copyright:      (c) 2010, Jan Rochel
 License:        BSD3
 License-File:	LICENSE
