diff --git a/simple-genetic-algorithm.cabal b/simple-genetic-algorithm.cabal
--- a/simple-genetic-algorithm.cabal
+++ b/simple-genetic-algorithm.cabal
@@ -2,7 +2,7 @@
 -- further documentation, see http://haskell.org/cabal/users-guide/
 
 name:                simple-genetic-algorithm
-version:             0.1.0.2
+version:             0.1.0.3
 synopsis:            Simple parallel genetic algorithm implementation
 description:         Simple parallel genetic algorithm implementation
 homepage:            http://eax.me/haskell-genetic-algorithm/
diff --git a/src/MainSin.hs b/src/MainSin.hs
--- a/src/MainSin.hs
+++ b/src/MainSin.hs
@@ -7,7 +7,7 @@
 import Data.List as L
 import Control.DeepSeq
 
-data SinInt = SinInt [Double]
+newtype SinInt = SinInt [Double]
 
 instance NFData SinInt where
     rnf (SinInt xs) = rnf xs `seq` ()
@@ -48,9 +48,10 @@
                 ([], gen) [0..polynomialOrder]
     in (SinInt lst, gen')
 
+stopf :: SinInt -> Int -> IO Bool
 stopf best gnum = do
     let e = err best
-    putStrLn $ "Generation: " ++ printf "%02d" gnum ++ ", Error: " ++ printf "%.8f" e
+    _ <- printf "Generation: %02d, Error: %.8f\n" gnum e
     return $ e < 0.0002 || gnum > 20
 
 main = do
