diff --git a/bytable.cabal b/bytable.cabal
--- a/bytable.cabal
+++ b/bytable.cabal
@@ -2,7 +2,7 @@
 build-type:	Simple
 
 name:		bytable
-version:	0.0.0.9
+version:	0.0.0.10
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -28,7 +28,7 @@
 source-repository	this
     type:	git
     location:	git://github.com/YoshikuniJujo/forest
-    tag:	bytable-0.0.0.9
+    tag:	bytable-0.0.0.10
 
 library
     hs-source-dirs:	src
diff --git a/src/Codec/Bytable.hs b/src/Codec/Bytable.hs
--- a/src/Codec/Bytable.hs
+++ b/src/Codec/Bytable.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE PatternGuards, OverloadedStrings, TupleSections #-}
 
 module Codec.Bytable (
-	Bytable(..),
+	Bytable(..), fromByteString, toByteString,
 	Parsable(..),
 	BytableM(..), evalBytableM, execBytableM,
 	head, take, null, list, addLen,
@@ -37,19 +37,28 @@
 	(<*>) = ap
 
 class Bytable b where
-	fromByteString :: BS.ByteString -> Either String b
-	toByteString :: b -> BS.ByteString
+	decode :: BS.ByteString -> Either String b
+	encode :: b -> BS.ByteString
 
+fromByteString :: Bytable b => BS.ByteString -> Either String b
+fromByteString = decode
+
+toByteString :: Bytable b => b -> BS.ByteString
+toByteString = encode
+
+{-# DEPRECATED fromByteString "Use decode instead" #-}
+{-# DEPRECATED toByteString "Use encode instead" #-}
+
 instance Bytable Word8 where
-	fromByteString "" = Right 0
-	fromByteString bs
+	decode "" = Right 0
+	decode bs
 		| [w] <- BS.unpack bs = Right w
-	fromByteString _ = Left "Codec.Bytable.BigEndian: Bytable Word8: too large"
-	toByteString = BS.pack . (: [])
+	decode _ = Left "Codec.Bytable.BigEndian: Bytable Word8: too large"
+	encode = BS.pack . (: [])
 
 instance Bytable BS.ByteString where
-	fromByteString = Right
-	toByteString = id
+	decode = Right
+	encode = id
 
 class Parsable p where
 	parse :: BytableM p
@@ -64,7 +73,7 @@
 	unless (BS.length bs >= n) .  Left $
 		"Bytable.take: length shorter than " ++ show n
 	let (x, bs') = BS.splitAt n bs
-	(, bs') <$> fromByteString x
+	(, bs') <$> decode x
 
 null :: BytableM Bool
 null  = BytableM $ \bs -> Right (BS.null bs, bs)
@@ -82,4 +91,4 @@
 
 addLen :: (Bytable n, Num n) => n -> BS.ByteString -> BS.ByteString
 addLen t bs =
-	toByteString (fromIntegral (BS.length bs) `asTypeOf` t) `BS.append` bs
+	encode (fromIntegral (BS.length bs) `asTypeOf` t) `BS.append` bs
diff --git a/src/Codec/Bytable/BigEndian.hs b/src/Codec/Bytable/BigEndian.hs
--- a/src/Codec/Bytable/BigEndian.hs
+++ b/src/Codec/Bytable/BigEndian.hs
@@ -9,43 +9,43 @@
 import qualified Data.ByteString as BS
 
 instance Bytable Int where
-	fromByteString bs
+	decode bs
 		| BS.length bs <= 4 = Right $ byteStringToNum bs
 		| otherwise = Left
 			"Codec.Bytable.BigEndian: Bytable Int: too large"
-	toByteString = integralToByteStringN 4
+	encode = integralToByteStringN 4
 
 instance Bytable Integer where
-	fromByteString bs = Right $ byteStringToNum bs
-	toByteString = integralToByteString
+	decode bs = Right $ byteStringToNum bs
+	encode = integralToByteString
 
 instance Bytable Word16 where
-	fromByteString bs
+	decode bs
 		| BS.length bs <= 2 = Right $ byteStringToNum bs
 		| otherwise = Left
 			"Codec.Bytable.BigEndian: Bytable Word16: too large"
-	toByteString = integralToByteStringN 2
+	encode = integralToByteStringN 2
 
 instance Bytable Word24 where
-	fromByteString bs
+	decode bs
 		| BS.length bs <= 3 = Right $ byteStringToNum bs
 		| otherwise = Left
 			"Codec.Bytable.BigEndian: Bytable Word24: too large"
-	toByteString = integralToByteStringN 3
+	encode = integralToByteStringN 3
 
 instance Bytable Word32 where
-	fromByteString bs
+	decode bs
 		| BS.length bs <= 4 = Right $ byteStringToNum bs
 		| otherwise = Left
 			"Codec.Bytable.BigEndian: Bytable Word32: too large"
-	toByteString = integralToByteStringN 4
+	encode = integralToByteStringN 4
 
 instance Bytable Word64 where
-	fromByteString bs
+	decode bs
 		| BS.length bs <= 8 = Right $ byteStringToNum bs
 		| otherwise = Left
 			"Codec.Bytable.BigEndian: Bytable Word32: too large"
-	toByteString = integralToByteStringN 8
+	encode = integralToByteStringN 8
 
 byteStringToNum :: (Num n, Bits n) => BS.ByteString -> n
 byteStringToNum = wordsToNum . reverse . BS.unpack
