diff --git a/src/Graphics/X11/Turtle.hs b/src/Graphics/X11/Turtle.hs
--- a/src/Graphics/X11/Turtle.hs
+++ b/src/Graphics/X11/Turtle.hs
@@ -34,6 +34,7 @@
 	inputs,
 	runInputs,
 	getSVG,
+	field,
 
 	-- ** move turtle
 	forward,
diff --git a/src/Graphics/X11/Turtle/Move.hs b/src/Graphics/X11/Turtle/Move.hs
--- a/src/Graphics/X11/Turtle/Move.hs
+++ b/src/Graphics/X11/Turtle/Move.hs
@@ -60,7 +60,7 @@
 			unlessM (undoLayer l) $ clearLayer l >> redraw
 			when (visible t1) $ drawTtl (direction t0) $ position t0
 	case silentundo t1 of
-		Just n -> replicateM_ n (undoLayer l) >> clearLayer l >> redraw
+		Just n -> fl $ replicateM_ n (undoLayer l) >> clearLayer l >> redraw
 		_ -> return ()
 	when (visible t1 && isNothing (silentundo t1)) $ do
 		forM_ (directions t0 t1) $ \dir -> fl $
diff --git a/src/Graphics/X11/Turtle/XTools.hs b/src/Graphics/X11/Turtle/XTools.hs
--- a/src/Graphics/X11/Turtle/XTools.hs
+++ b/src/Graphics/X11/Turtle/XTools.hs
@@ -86,13 +86,13 @@
 import Control.Concurrent(ThreadId, forkIO, threadWaitRead)
 import System.Locale.SetLocale(Category(..), setLocale)
 import System.Posix.Types(Fd(..))
-import Data.Word(Word32)
-import Data.Bits((.|.), shift)
+import Data.Bits((.&.), (.|.), shift)
 import Data.IORef(newIORef, readIORef, modifyIORef)
 import Foreign.Ptr(Ptr)
 import Foreign.Storable(peek)
 import Foreign.Marshal.Array(advancePtr)
 import Control.Exception(catch, SomeException)
+import Data.Word(Word32, Word64)
 
 --------------------------------------------------------------------------------
 
@@ -137,6 +137,26 @@
 	(_, _, _, width, height, _, _) <- getGeometry dpy win
 	return (width, height)
 
+class ConvertPixel p where
+	convertPixel :: Word32 -> p
+
+instance ConvertPixel Word32 where
+	convertPixel = id
+
+instance ConvertPixel Word64 where
+	convertPixel = fromIntegral
+
+convertW64 :: Word64 -> Word64
+convertW64 p = foldr1 (.|.) $ zipWith shift (getColors p) [8, 16, 24, 32]
+
+getColors :: Word64 -> [Word64]
+getColors p = [
+	p .&. 0xffff,
+	p .&. (0xffff `shift` 8),
+	p .&. (0xffff `shift` 16),
+	p .&. (0xffff `shift` 24)
+ ]
+
 --------------------------------------------------------------------------------
 
 setForegroundXT :: Display -> GC -> Color -> IO ()
@@ -206,7 +226,7 @@
 	Dimension -> Dimension -> Ptr Word32 -> IO ()
 drawBitmap dpy win gc x y w_ h_ dat = newIORef dat >>= \ptr ->
 	forM_ [0 .. w * h - 1]  $ \i -> do
-		readIORef ptr >>= peek >>= setForeground dpy gc
+		readIORef ptr >>= peek >>= setForeground dpy gc . convertPixel
 		drawPoint dpy win gc (x + i `mod` w) (y + i `div` w)
 		modifyIORef ptr $ flip advancePtr 1
 	where [w, h] = map fromIntegral [w_, h_]
diff --git a/xturtle.cabal b/xturtle.cabal
--- a/xturtle.cabal
+++ b/xturtle.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.6
 
 name:		xturtle
-version:	0.1.13
+version:	0.1.23
 stability:	experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
