diff --git a/Foster.cabal b/Foster.cabal
--- a/Foster.cabal
+++ b/Foster.cabal
@@ -1,5 +1,5 @@
 name:                Foster
-version:             1.1.1
+version:             1.1.2
 synopsis:            Utilities to generate and solve puzzles
 description:         Utilities to generate and solve puzzles
 license:             MIT
diff --git a/benchmarks/Bench.hs b/benchmarks/Bench.hs
--- a/benchmarks/Bench.hs
+++ b/benchmarks/Bench.hs
@@ -1,19 +1,22 @@
-module Main where
-
 import Criterion.Main
 import Foster.Interpreter
 import System.Environment (withArgs)
 
 main :: IO ()
 main = defaultMain 
-    [ bgroup "foster generate" 
-        [ bench "1,1"  $ whnfIO $ withArgs ["generate", "1,1", "-s"] interpret 
-        , bench "10,10"  $ whnfIO $ withArgs ["generate", "10,10", "-s"] interpret
-        , bench "100,100" $ whnfIO $ withArgs ["generate", "100,100", "-s"] interpret
-        , bench "200,200" $ whnfIO $ withArgs ["generate", "200,200", "-s"] interpret
-        , bench "300,300" $ whnfIO $ withArgs ["generate", "300,300", "-s"] interpret
-        , bench "1000,1000" $ whnfIO $ withArgs ["generate", "1000,1000", "-s"] interpret
-        , bench "2000,2000" $ whnfIO $ withArgs ["generate", "2000,2000", "-s"] interpret
-        , bench "3000,3000" $ whnfIO $ withArgs ["generate", "3000,3000", "-s"] interpret
+    [ bgroup "foster generate"
+        [ bench "100,100" $ whnfIO $ withArgs ["generate", "100,100", "-s", "-op1.txt"] interpret
+        , bench "200,200" $ whnfIO $ withArgs ["generate", "200,200", "-s", "-op2.txt"] interpret
+        , bench "500,500" $ whnfIO $ withArgs ["generate", "500,500", "-s", "-op3.txt"] interpret
+        ]
+    , bgroup "foster solve"
+        [ bench "p1.txt" $ whnfIO $ withArgs ["solve", "-s", "-ip1.txt", "-os1.txt"] interpret
+        , bench "p2.txt" $ whnfIO $ withArgs ["solve", "-s", "-ip2.txt", "-os2.txt"] interpret
+        , bench "p3.txt" $ whnfIO $ withArgs ["solve", "-s", "-ip3.txt", "-os3.txt"] interpret
+        ]
+    , bgroup "foster check"
+        [ bench "s1.txt" $ whnfIO $ withArgs ["check", "-s", "-ip1.txt", "-os1.txt"] interpret
+        , bench "s2.txt" $ whnfIO $ withArgs ["check", "-s", "-ip2.txt", "-os2.txt"] interpret
+        , bench "s3.txt" $ whnfIO $ withArgs ["check", "-s", "-ip3.txt", "-os3.txt"] interpret
         ]
     ]
diff --git a/src/Foster/Generator.hs b/src/Foster/Generator.hs
--- a/src/Foster/Generator.hs
+++ b/src/Foster/Generator.hs
@@ -48,7 +48,6 @@
 
 generatePieces :: Size -> Bool -> String -> IO [Piece]
 generatePieces siz@(w, h) sil str = do
-    putStrLn str
     let tot = w * h
     ps <- mapM 
         (\i -> do
diff --git a/src/Foster/Interpreter.hs b/src/Foster/Interpreter.hs
--- a/src/Foster/Interpreter.hs
+++ b/src/Foster/Interpreter.hs
@@ -100,7 +100,7 @@
     ( ret $ pure $ helpFail Plain Nothing
     , defTI
         { termName = "foster"
-        , version = "1.1.1"
+        , version = "1.1.2"
         }
     )
 
diff --git a/src/Foster/Solver.hs b/src/Foster/Solver.hs
--- a/src/Foster/Solver.hs
+++ b/src/Foster/Solver.hs
@@ -10,7 +10,6 @@
 import Control.Monad (unless)
 import Foster.IO (writeSolvedPuzzle, readUnsolvedPuzzle)
 import qualified Data.Map as M
-import Debug.Trace (trace, traceShow)
 
 buildMap :: UnsolvedPuzzle -> Map PieceId Piece
 buildMap ps = M.fromList . map buildMapElem $ ps
@@ -40,7 +39,7 @@
             unless sil $ putPercOver (i, rs) "Solving"
             return $ getPiecesAlong getEastId m p) 
         (zip [1..rs] firstCol)
-    putStrLn "" >> flush
+    unless sil $ putStrLn "" >> flush
     return sp
 
 solve :: FilePath -> FilePath -> Bool -> IO ()
