diff --git a/networked-game.cabal b/networked-game.cabal
--- a/networked-game.cabal
+++ b/networked-game.cabal
@@ -2,20 +2,23 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                networked-game
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Networked-game support library
--- description:         
 license:             BSD3
 license-file:        LICENSE
 author:              Eric Mertens
 maintainer:          emertens@gmail.com
--- copyright:           
 category:            Network
 build-type:          Simple
 cabal-version:       >=1.8
 
 library
   exposed-modules:     NetworkedGame.Handles, NetworkedGame.Packet, NetworkedGame.Server
-  -- other-modules:       
-  build-depends:       base == 4.6.*, containers, bytestring, binary, transformers, time, network
+  build-depends:       base >= 4.6 && < 4.8,
+                       containers < 0.6,
+                       bytestring < 0.11,
+                       binary < 0.8,
+                       transformers < 0.5,
+                       time < 1.6,
+                       network < 2.7
   hs-source-dirs:      src
diff --git a/src/NetworkedGame/Handles.hs b/src/NetworkedGame/Handles.hs
--- a/src/NetworkedGame/Handles.hs
+++ b/src/NetworkedGame/Handles.hs
@@ -12,7 +12,7 @@
 newtype Handles = Handles (IntMap Handle)
 
 newtype ConnectionId = ConnectionId Int
-  deriving (Eq, Show, Ord)
+  deriving (Eq, Show, Ord, Read)
 
 emptyHandles :: Handles
 emptyHandles = Handles IntMap.empty
diff --git a/src/NetworkedGame/Server.hs b/src/NetworkedGame/Server.hs
--- a/src/NetworkedGame/Server.hs
+++ b/src/NetworkedGame/Server.hs
@@ -8,7 +8,7 @@
 import Control.Concurrent (forkIO, threadDelay, ThreadId,
                            Chan, newChan, readChan, writeChan)
 import Control.Exception (SomeException, handle, bracket_)
-import Control.Monad (forM_, forever)
+import Control.Monad (forM_, forever, when)
 import Control.Monad.IO.Class (MonadIO(liftIO))
 import Data.Binary (Binary, encode, decode)
 import Data.Foldable (for_)
@@ -116,8 +116,9 @@
   Chan (ServerEvent c) {- ^ outgoing tick queue             	-} ->
   IO ()
 tickThread env events =
-  forever $ do writeChan events TickEvent
-               threadDelay $ 1000000 `div` eventsPerSecond env
+  when (eventsPerSecond env > 0) $
+      forever $ do writeChan events TickEvent
+                   threadDelay $ 1000000 `div` eventsPerSecond env
 
 data ServerEvent c
   = TickEvent
