diff --git a/Network/HPACK/Context.hs b/Network/HPACK/Context.hs
--- a/Network/HPACK/Context.hs
+++ b/Network/HPACK/Context.hs
@@ -4,6 +4,7 @@
   , Context
   , newContextForEncoding
   , newContextForDecoding
+  , changeContextForDecoding
   , DecodeError(..)
   , printContext
   -- * Initialization and final results
@@ -64,6 +65,9 @@
 newContextForDecoding maxsiz = do
     hdrtbl <- newHeaderTableForDecoding maxsiz
     return $ Context hdrtbl emptyReferenceSet
+
+changeContextForDecoding :: Context -> Size -> IO Context
+changeContextForDecoding _ctx siz = newContextForDecoding siz -- fixme: copy table
 
 ----------------------------------------------------------------
 
diff --git a/Network/HPACK/HeaderBlock/Decode.hs b/Network/HPACK/HeaderBlock/Decode.hs
--- a/Network/HPACK/HeaderBlock/Decode.hs
+++ b/Network/HPACK/HeaderBlock/Decode.hs
@@ -28,45 +28,61 @@
               -> Either DecodeError (HeaderField, ByteString)
 toHeaderField bs
   | BS.null bs    = Left EmptyBlock
-  | w `testBit` 7 = Right $ indexed w bs'
-  | w `testBit` 6 = withoutIndexing w bs'
-  | otherwise     = incrementalIndexing w bs'
+  | w `testBit` 7 = indexed w bs'
+  | w `testBit` 6 = incrementalIndexing w bs'
+  | w `testBit` 5 = if w `testBit` 4 then clear w bs' else maxSize w bs'
+  | w `testBit` 4 = neverIndexing w bs'
+  | otherwise     = withoutIndexing w bs'
   where
     w = BS.head bs
     bs' = BS.tail bs
 
 ----------------------------------------------------------------
 
-indexed :: Word8 -> ByteString -> (HeaderField, ByteString)
-indexed w ws = (Indexed idx , ws')
+indexed :: Word8 -> ByteString -> Either DecodeError (HeaderField, ByteString)
+indexed w ws = Right (Indexed idx , ws')
   where
     w' = clearBit w 7
     (idx, ws') = I.parseInteger 7 w' ws
 
+incrementalIndexing :: Word8 -> ByteString
+                    -> Either DecodeError (HeaderField, ByteString)
+incrementalIndexing w ws
+  | isIndexedName1 w = indexedName Add w ws 6 mask6
+  | otherwise        = newName Add ws
+
+clear :: Word8 -> ByteString -> Either DecodeError (HeaderField, ByteString)
+clear _ ws = Right (Clear, ws)
+
+maxSize :: Word8 -> ByteString -> Either DecodeError (HeaderField, ByteString)
+maxSize w ws = Right (ChangeTableSize siz, ws')
+  where
+    w' = mask4 w
+    (siz, ws') = I.parseInteger 4 w' ws
+
 withoutIndexing :: Word8 -> ByteString
                 -> Either DecodeError (HeaderField, ByteString)
 withoutIndexing w ws
-  | isIndexedName w = indexedName NotAdd w ws
-  | otherwise       = newName NotAdd ws
+  | isIndexedName2 w = indexedName NotAdd w ws 4 mask4
+  | otherwise        = newName NotAdd ws
 
-incrementalIndexing :: Word8 -> ByteString
-                    -> Either DecodeError (HeaderField, ByteString)
-incrementalIndexing w ws
-  | isIndexedName w = indexedName Add w ws
-  | otherwise       = newName Add ws
+neverIndexing :: Word8 -> ByteString
+                -> Either DecodeError (HeaderField, ByteString)
+neverIndexing w ws
+  | isIndexedName2 w = indexedName Never w ws 4 mask4
+  | otherwise        = newName Never ws
 
 ----------------------------------------------------------------
 
-indexedName :: Indexing -> Word8 -> ByteString
+indexedName :: Indexing -> Word8 -> ByteString -> Int -> (Word8 -> Word8)
             -> Either DecodeError (HeaderField, ByteString)
-indexedName indexing w ws = do
+indexedName indexing w ws n mask = do
     (val,ws'') <- headerStuff ws'
     let hf = Literal indexing (Idx idx) val
     return (hf, ws'')
   where
-    p = mask6 w
-    (idx,ws') = I.parseInteger 6 p ws
-
+    p = mask w
+    (idx,ws') = I.parseInteger n p ws
 
 newName :: Indexing -> ByteString
         -> Either DecodeError (HeaderField, ByteString)
@@ -95,8 +111,14 @@
 mask6 :: Word8 -> Word8
 mask6 w = w .&. 63
 
-isIndexedName :: Word8 -> Bool
-isIndexedName w = mask6 w /= 0
+mask4 :: Word8 -> Word8
+mask4 w = w .&. 15
+
+isIndexedName1 :: Word8 -> Bool
+isIndexedName1 w = mask6 w /= 0
+
+isIndexedName2 :: Word8 -> Bool
+isIndexedName2 w = mask4 w /= 0
 
 ----------------------------------------------------------------
 
diff --git a/Network/HPACK/HeaderBlock/Encode.hs b/Network/HPACK/HeaderBlock/Encode.hs
--- a/Network/HPACK/HeaderBlock/Encode.hs
+++ b/Network/HPACK/HeaderBlock/Encode.hs
@@ -23,14 +23,27 @@
     toBB = fromHeaderField huff
 
 fromHeaderField :: Bool -> HeaderField -> Builder
+fromHeaderField _    Clear                        = clear
+fromHeaderField _    (ChangeTableSize siz)        = change siz
 fromHeaderField _    (Indexed idx)                = index idx
-fromHeaderField huff (Literal NotAdd (Idx idx) v) = indexedName huff set01 idx v
-fromHeaderField huff (Literal NotAdd (Lit key) v) = newName     huff set01 key v
-fromHeaderField huff (Literal Add    (Idx idx) v) = indexedName huff set00 idx v
-fromHeaderField huff (Literal Add    (Lit key) v) = newName     huff set00 key v
+fromHeaderField huff (Literal Add    (Idx idx) v) = indexedName huff 6 set01 idx v
+fromHeaderField huff (Literal Add    (Lit key) v) = newName     huff set01 key v
+fromHeaderField huff (Literal NotAdd (Idx idx) v) = indexedName huff 4 set0000 idx v
+fromHeaderField huff (Literal NotAdd (Lit key) v) = newName     huff set0000 key v
+fromHeaderField huff (Literal Never (Idx idx) v)  = indexedName huff 4 set0001 idx v
+fromHeaderField huff (Literal Never (Lit key) v)  = newName     huff set0001 key v
 
 ----------------------------------------------------------------
 
+clear :: Builder
+clear = BB.fromWord8s [48]
+
+change :: Int -> Builder
+change i = BB.fromWord8s (w':ws)
+  where
+    (w:ws) = I.encode 4 i
+    w' = set001 w
+
 index :: Int -> Builder
 index i = BB.fromWord8s (w':ws)
   where
@@ -38,10 +51,10 @@
     w' = set1 w
 
 -- Using Huffman encoding
-indexedName :: Bool -> Setter -> Int -> HeaderValue -> Builder
-indexedName huff set idx v = pre <> vlen <> val
+indexedName :: Bool -> Int -> Setter -> Int -> HeaderValue -> Builder
+indexedName huff n set idx v = pre <> vlen <> val
   where
-    (p:ps) = I.encode 6 idx
+    (p:ps) = I.encode n idx
     pre = BB.fromWord8s $ set p : ps
     value = S.encode huff v
     valueLen = BS.length value
@@ -73,10 +86,12 @@
 type Setter = Word8 -> Word8
 
 -- Assuming MSBs are 0.
-set1, set01, set00 :: Setter
-set1  x = x `setBit` 7
-set01 x = x `setBit` 6
-set00   = id
+set1, set01, set001, set0001, set0000 :: Setter
+set1    x = x `setBit` 7
+set01   x = x `setBit` 6
+set001  x = x `setBit` 5
+set0001 x = x `setBit` 4
+set0000 = id
 
 setH :: [Word8] -> [Word8]
 setH []     = error "setH"
diff --git a/Network/HPACK/HeaderBlock/From.hs b/Network/HPACK/HeaderBlock/From.hs
--- a/Network/HPACK/HeaderBlock/From.hs
+++ b/Network/HPACK/HeaderBlock/From.hs
@@ -33,8 +33,11 @@
 -- | Decoding step for one 'HeaderField'. Exporting for the
 --   test purpose.
 decodeStep :: Step
+decodeStep (!ctx,!builder) Clear = return (clearRefSets ctx,builder)
+decodeStep (!ctx,!builder) (ChangeTableSize siz) = do
+    ctx' <- changeContextForDecoding ctx siz
+    return (ctx',builder)
 decodeStep (!ctx,!builder) (Indexed idx)
-  | idx == 0  = return (clearRefSets ctx,builder)
   | isPresent = return (removeRef ctx idx, builder)
   | otherwise = do
       w <- whichTable idx ctx
@@ -50,6 +53,11 @@
   where
     isPresent = idx `isPresentIn` ctx
 decodeStep (!ctx,!builder) (Literal NotAdd naming v) = do
+    k <- fromNaming naming ctx
+    let b = builder << (k,v)
+    return (ctx, b)
+-- fixme: how to treat Never?
+decodeStep (!ctx,!builder) (Literal Never naming v) = do
     k <- fromNaming naming ctx
     let b = builder << (k,v)
     return (ctx, b)
diff --git a/Network/HPACK/HeaderBlock/HeaderField.hs b/Network/HPACK/HeaderBlock/HeaderField.hs
--- a/Network/HPACK/HeaderBlock/HeaderField.hs
+++ b/Network/HPACK/HeaderBlock/HeaderField.hs
@@ -22,12 +22,14 @@
 emptyHeaderBlock = []
 
 -- | Type for representation.
-data HeaderField = Indexed Index
+data HeaderField = Clear
+                 | ChangeTableSize Int
+                 | Indexed Index
                  | Literal Indexing Naming HeaderValue
                  deriving (Eq,Show)
 
 -- | Whether or not adding to a table.
-data Indexing = Add | NotAdd deriving (Eq,Show)
+data Indexing = Add | NotAdd | Never deriving (Eq,Show)
 
 -- | Index or literal.
 data Naming = Idx Index | Lit HeaderName deriving (Eq,Show)
diff --git a/Network/HPACK/HeaderBlock/String.hs b/Network/HPACK/HeaderBlock/String.hs
--- a/Network/HPACK/HeaderBlock/String.hs
+++ b/Network/HPACK/HeaderBlock/String.hs
@@ -13,11 +13,6 @@
 encode True h = Huffman.encode h
 encode _    h = h
 
--- fixme: removing
--- | Decoding 'ByteString' to 'HeaderStuff' according to 'HuffmanDecoding'.
-decode :: ByteString -> Either DecodeError HeaderStuff
-decode ws = Huffman.decode ws
-
 -- | Parsing 'HeaderStuff' from 'ByteString'.
 --   The second 'Bool' is whether or not huffman encoding is used.
 --   The third 'Int' is the length of the encoded string.
@@ -26,6 +21,6 @@
 parseString False len bs = Right (es, bs')
   where
     (es, bs') = BS.splitAt len bs
-parseString True  len bs = decode es >>= \x -> return (x,bs')
+parseString True  len bs = Huffman.decode es >>= \x -> return (x,bs')
   where
     (es, bs') = BS.splitAt len bs
diff --git a/Network/HPACK/HeaderBlock/To.hs b/Network/HPACK/HeaderBlock/To.hs
--- a/Network/HPACK/HeaderBlock/To.hs
+++ b/Network/HPACK/HeaderBlock/To.hs
@@ -46,7 +46,7 @@
 reset :: Context -> IO Ctx
 reset ctx = do
     let ctx' = clearRefSets ctx
-        initialHeaderBlock = singleton $ Indexed 0
+        initialHeaderBlock = singleton Clear
     return (ctx', initialHeaderBlock)
 
 ----------------------------------------------------------------
diff --git a/Network/HPACK/Huffman/Encode.hs b/Network/HPACK/Huffman/Encode.hs
--- a/Network/HPACK/Huffman/Encode.hs
+++ b/Network/HPACK/Huffman/Encode.hs
@@ -38,7 +38,6 @@
 aosa :: AOSA
 aosa = listArray (0,idxEos) $ map toShiftedArray huffmanTable
 
--- fixme
 -- |
 --
 -- >>> toShifted [T,T,T,T] 0
diff --git a/Network/HPACK/Huffman/Table.hs b/Network/HPACK/Huffman/Table.hs
--- a/Network/HPACK/Huffman/Table.hs
+++ b/Network/HPACK/Huffman/Table.hs
@@ -4,229 +4,7 @@
 
 huffmanTable :: [Bits]
 huffmanTable = [
-    [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T]
-  , [T,T,T,F,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,F,T]
-  , [T,F,F,T,F,F]
-  , [T,T,F,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,F,T,T]
-  , [T,T,T,T,T,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,F,T,F,F,T]
-  , [T,F,F,T,F,T]
-  , [F,F,T,F,F]
-  , [F,F,F,F]
-  , [F,F,T,F,T]
-  , [F,F,T,T,F]
-  , [F,F,T,T,T]
-  , [T,F,F,T,T,F]
-  , [T,F,F,T,T,T]
-  , [T,F,T,F,F,F]
-  , [T,F,T,F,F,T]
-  , [T,F,T,F,T,F]
-  , [T,F,T,F,T,T]
-  , [T,F,T,T,F,F]
-  , [T,T,T,T,F,T,T,F,F]
-  , [T,T,T,F,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
-  , [T,F,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,F,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,F,T,T]
-  , [T,T,F,T,T,T,T]
-  , [T,T,T,F,T,F,T,T]
-  , [T,T,T,F,T,T,F,F]
-  , [T,T,T,F,T,T,F,T]
-  , [T,T,T,F,T,T,T,F]
-  , [T,T,T,F,F,F,F]
-  , [T,T,T,T,F,T,T,T,F]
-  , [T,T,T,T,F,T,T,T,T]
-  , [T,T,T,T,T,F,F,F,F]
-  , [T,T,T,T,T,F,F,F,T]
-  , [T,T,T,T,T,T,T,F,T,T]
-  , [T,T,T,T,T,F,F,T,F]
-  , [T,T,T,F,T,T,T,T]
-  , [T,T,T,T,T,F,F,T,T]
-  , [T,T,T,T,T,F,T,F,F]
-  , [T,T,T,T,T,F,T,F,T]
-  , [T,T,T,T,T,F,T,T,F]
-  , [T,T,T,T,T,F,T,T,T]
-  , [T,T,T,T,F,F,F,F]
-  , [T,T,T,T,F,F,F,T]
-  , [T,T,T,T,T,T,F,F,F]
-  , [T,T,T,T,T,T,F,F,T]
-  , [T,T,T,T,T,T,F,T,F]
-  , [T,T,T,T,T,T,F,T,T]
-  , [T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,F,T]
-  , [T,F,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
-  , [F,T,F,F,F]
-  , [T,F,T,T,T,T]
-  , [F,T,F,F,T]
-  , [T,T,F,F,F,F]
-  , [F,F,F,T]
-  , [T,T,F,F,F,T]
-  , [T,T,F,F,T,F]
-  , [T,T,F,F,T,T]
-  , [F,T,F,T,F]
-  , [T,T,T,F,F,F,T]
-  , [T,T,T,F,F,T,F]
-  , [F,T,F,T,T]
-  , [T,T,F,T,F,F]
-  , [F,T,T,F,F]
-  , [F,T,T,F,T]
-  , [F,T,T,T,F]
-  , [T,T,T,T,F,F,T,F]
-  , [F,T,T,T,T]
-  , [T,F,F,F,F]
-  , [T,F,F,F,T]
-  , [T,T,F,T,F,T]
-  , [T,T,T,F,F,T,T]
-  , [T,T,F,T,T,F]
-  , [T,T,T,T,F,F,T,T]
-  , [T,T,T,T,F,T,F,F]
-  , [T,T,T,T,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F,F]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F,T]
-  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,F]
+    [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,F]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,T]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F,F]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F,T]
@@ -258,9 +36,229 @@
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T]
+  , [F,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,F,F]
+  , [T,T,T,T,T,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,F,F]
+  , [F,T,T,T,T,F]
+  , [T,T,F,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,F,T,F]
+  , [T,T,T,T,T,F,F,F,T]
+  , [T,T,T,T,T,T,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,F,F]
+  , [T,T,F,F,T,F,T]
+  , [T,T,F,F,T,T,F]
+  , [F,T,T,T,T,T]
+  , [F,F,T,T,T]
+  , [F,F,F,F]
+  , [F,F,F,T]
+  , [F,F,T,F]
+  , [F,T,F,F,F]
+  , [T,F,F,F,F,F]
+  , [T,F,F,F,F,T]
+  , [T,F,F,F,T,F]
+  , [T,F,F,F,T,T]
+  , [T,F,F,T,F,F]
+  , [T,F,F,T,F,T]
+  , [T,F,F,T,T,F]
+  , [T,T,T,F,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F]
+  , [T,F,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
+  , [T,T,F,F,T,T,T]
+  , [T,T,T,F,T,T,F,T]
+  , [T,T,T,F,T,T,T,F]
+  , [T,T,F,T,F,F,F]
+  , [T,T,T,F,T,T,T,T]
+  , [T,T,F,T,F,F,T]
+  , [T,T,F,T,F,T,F]
+  , [T,T,T,T,T,F,F,T,F]
+  , [T,T,T,T,F,F,F,F]
+  , [T,T,T,T,T,F,F,T,T]
+  , [T,T,T,T,T,F,T,F,F]
+  , [T,T,T,T,T,F,T,F,T]
+  , [T,T,F,T,F,T,T]
+  , [T,T,F,T,T,F,F]
+  , [T,T,T,T,F,F,F,T]
+  , [T,T,T,T,F,F,T,F]
+  , [T,T,T,T,T,F,T,T,F]
+  , [T,T,T,T,T,F,T,T,T]
+  , [T,T,F,T,T,F,T]
+  , [T,F,T,F,F,F]
+  , [T,T,T,T,F,F,T,T]
+  , [T,T,T,T,T,T,F,F,F]
+  , [T,T,T,T,T,T,F,F,T]
+  , [T,T,T,T,F,T,F,F]
+  , [T,T,T,T,T,T,F,T,F]
+  , [T,T,T,T,T,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,F,F]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,F,T]
+  , [T,T,F,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
+  , [F,T,F,F,T]
+  , [T,T,F,T,T,T,T]
+  , [F,T,F,T,F]
+  , [T,F,T,F,F,T]
+  , [F,T,F,T,T]
+  , [T,T,T,F,F,F,F]
+  , [T,F,T,F,T,F]
+  , [T,F,T,F,T,T]
+  , [F,T,T,F,F]
+  , [T,T,T,T,F,T,F,T]
+  , [T,T,T,T,F,T,T,F]
+  , [T,F,T,T,F,F]
+  , [T,F,T,T,F,T]
+  , [T,F,T,T,T,F]
+  , [F,T,T,F,T]
+  , [T,F,T,T,T,T]
+  , [T,T,T,T,T,T,T,F,F]
+  , [T,T,F,F,F,F]
+  , [T,T,F,F,F,T]
+  , [F,T,T,T,F]
+  , [T,T,T,F,F,F,T]
+  , [T,T,T,F,F,T,F]
+  , [T,T,T,F,F,T,T]
+  , [T,T,T,F,T,F,F]
+  , [T,T,T,F,T,F,T]
+  , [T,T,T,T,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,F,T]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T]
   , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,F,T,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,F,T,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,F,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,F]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,F,T,T]
+  , [T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,T,F,T,T,T,F,F]
   ]
-
-
diff --git a/Network/HPACK/Table/Static.hs b/Network/HPACK/Table/Static.hs
--- a/Network/HPACK/Table/Static.hs
+++ b/Network/HPACK/Table/Static.hs
@@ -36,7 +36,7 @@
 --
 -- >>> toStaticEntry (SIndex 8)
 -- (42,(":status","200"))
--- >>> toStaticEntry (SIndex 49)
+-- >>> toStaticEntry (SIndex 50)
 -- (37,("range",""))
 toStaticEntry :: SIndex -> Entry
 toStaticEntry (SIndex sidx) = staticTable ! sidx
@@ -63,11 +63,12 @@
   , (":scheme","http")
   , (":scheme","https")
   , (":status","200")
-  , (":status","500")
-  , (":status","404")
-  , (":status","403")
+  , (":status","204")
+  , (":status","206")
+  , (":status","304")
   , (":status","400")
-  , (":status","401")
+  , (":status","404")
+  , (":status","500")
   , ("accept-charset","")
   , ("accept-encoding","")
   , ("accept-language","")
diff --git a/http2.cabal b/http2.cabal
--- a/http2.cabal
+++ b/http2.cabal
@@ -1,12 +1,12 @@
 Name:                   http2
-Version:                0.2.0
+Version:                0.3.0
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
 License-File:           LICENSE
 Synopsis:               HTTP/2.0 library including HPACK
 Description:            HTTP/2.0 library including HPACK.
-                        Currently only HPACK 06 is supported.
+                        Currently only HPACK 07 is supported.
 Category:               Network
 Cabal-Version:          >= 1.10
 Build-Type:             Simple
diff --git a/test-hpack/HPACKDecode.hs b/test-hpack/HPACKDecode.hs
--- a/test-hpack/HPACKDecode.hs
+++ b/test-hpack/HPACKDecode.hs
@@ -27,9 +27,9 @@
 data Result = Pass | Fail String deriving (Eq,Show)
 
 run :: Bool -> Test -> IO Result
-run _ (Test _ _ _ [])        = return $ Pass
-run d (Test _ _ _ ccs@(c:_)) = do
-    let siz = size c
+run _ (Test _ _ [])        = return $ Pass
+run d (Test _ _ ccs@(c:_)) = do
+    let siz = maybe 4096 id $ size c
     dctx <- newContextForDecoding siz
     let conf = Conf { debug = d }
     testLoop conf ccs dctx
diff --git a/test-hpack/HPACKEncode.hs b/test-hpack/HPACKEncode.hs
--- a/test-hpack/HPACKEncode.hs
+++ b/test-hpack/HPACKEncode.hs
@@ -21,9 +21,9 @@
   }
 
 run :: Bool -> EncodeStrategy -> Test -> IO [ByteString]
-run _ _    (Test _ _        _ [])        = return []
-run d stgy (Test _ _ _ ccs@(c:_)) = do
-    let siz = size c
+run _ _    (Test _        _ [])        = return []
+run d stgy (Test _ _ ccs@(c:_)) = do
+    let siz = maybe 4096 id $ size c
     ectx <- newContextForEncoding siz
     let conf = Conf { debug = d, enc = encodeHeader stgy }
     testLoop conf ccs ectx []
diff --git a/test-hpack/Types.hs b/test-hpack/Types.hs
--- a/test-hpack/Types.hs
+++ b/test-hpack/Types.hs
@@ -32,13 +32,12 @@
 
 data Test = Test {
     draft :: Int
-  , context :: String
   , description :: String
   , cases :: [Case]
   } deriving Show
 
 data Case = Case {
-    size :: Int
+    size :: Maybe Int
   , wire :: ByteString
   , headers :: HeaderSet
   , seqno :: Maybe Int
@@ -46,31 +45,33 @@
 
 instance FromJSON Test where
     parseJSON (Object o) = Test <$> o .: "draft"
-                                <*> o .: "context"
                                 <*> o .: "description"
                                 <*> o .: "cases"
     parseJSON _          = mzero
 
 instance ToJSON Test where
-    toJSON (Test n ctx desc cs) = object ["draft" .= n
-                                         ,"context" .= ctx
-                                         ,"description" .= desc
-                                         ,"cases" .= cs
-                                         ]
+    toJSON (Test n desc cs) = object ["draft" .= n
+                                     ,"description" .= desc
+                                     ,"cases" .= cs
+                                     ]
 
 instance FromJSON Case where
-    parseJSON (Object o) = Case <$> o .: "header_table_size"
+    parseJSON (Object o) = Case <$> o .:? "header_table_size"
                                 <*> (textToByteString <$> (o .: "wire"))
                                 <*> o .: "headers"
                                 <*> o .:? "seqno"
     parseJSON _          = mzero
 
 instance ToJSON Case where
-    toJSON (Case siz w hs no) = object ["header_table_size" .= siz
-                                       ,"wire" .= byteStringToText w
-                                       ,"headers" .= hs
-                                       ,"seqno" .= no
-                                       ]
+    toJSON (Case (Just siz) w hs no) = object ["header_table_size" .= siz
+                                              ,"wire" .= byteStringToText w
+                                              ,"headers" .= hs
+                                              ,"seqno" .= no
+                                              ]
+    toJSON (Case Nothing    w hs no) = object ["wire" .= byteStringToText w
+                                              ,"headers" .= hs
+                                              ,"seqno" .= no
+                                              ]
 
 instance FromJSON HeaderSet where
     parseJSON (Array a) = mapM parseJSON $ V.toList a
diff --git a/test/DecodeSpec.hs b/test/DecodeSpec.hs
--- a/test/DecodeSpec.hs
+++ b/test/DecodeSpec.hs
@@ -14,16 +14,16 @@
 spec = do
     describe "fromHeaderBlock" $ do
         it "decodes HeaderSet in request" $ do
-            (c1,h1) <- newContextForDecoding 4096 >>= flip fromHeaderBlock e31
-            h1 `shouldBeSameAs` e31h
-            (c2,h2) <- fromHeaderBlock c1 e32
-            h2 `shouldBeSameAs` e32h
-            (_,h3)  <- fromHeaderBlock c2 e33
-            h3 `shouldBeSameAs` e33h
+            (c1,h1) <- newContextForDecoding 4096 >>= flip fromHeaderBlock d41
+            h1 `shouldBeSameAs` d41h
+            (c2,h2) <- fromHeaderBlock c1 d42
+            h2 `shouldBeSameAs` d42h
+            (_,h3)  <- fromHeaderBlock c2 d43
+            h3 `shouldBeSameAs` d43h
         it "decodes HeaderSet in response" $ do
-            (c1,h1) <- newContextForDecoding 256 >>= flip fromHeaderBlock e51
-            h1 `shouldBeSameAs` e51h
-            (c2,h2) <- fromHeaderBlock c1 e52
-            h2 `shouldBeSameAs` e52h
-            (_,h3)  <- fromHeaderBlock c2 e53
-            h3 `shouldBeSameAs` e53h
+            (c1,h1) <- newContextForDecoding 256 >>= flip fromHeaderBlock d61
+            h1 `shouldBeSameAs` d61h
+            (c2,h2) <- fromHeaderBlock c1 d62
+            h2 `shouldBeSameAs` d62h
+            (_,h3)  <- fromHeaderBlock c2 d63
+            h3 `shouldBeSameAs` d63h
diff --git a/test/HeaderBlock.hs b/test/HeaderBlock.hs
--- a/test/HeaderBlock.hs
+++ b/test/HeaderBlock.hs
@@ -10,42 +10,42 @@
 
 ----------------------------------------------------------------
 
-e31 :: HeaderBlock
-e31 = [
+d41 :: HeaderBlock
+d41 = [
     Indexed 2
   , Indexed 7
   , Indexed 6
   , Literal Add (Idx 4) "www.example.com"
   ]
 
-e31h :: HeaderSet
-e31h = [(":method","GET")
+d41h :: HeaderSet
+d41h = [(":method","GET")
         ,(":scheme","http")
         ,(":path","/")
         ,(":authority","www.example.com")
         ]
 
-e31b :: ByteStream
-e31b = fromHexString "828786048bdb6d883e68d1cb1225ba7f"
+d41b :: ByteStream
+d41b = fromHexString "828786448ce7cf9bebe89b6fb16fa9b6ff"
 
-e32 :: HeaderBlock
-e32 = [
-    Literal Add (Idx 27) "no-cache"
+d42 :: HeaderBlock
+d42 = [
+    Literal Add (Idx 28) "no-cache"
   ]
 
-e32h :: HeaderSet
-e32h = [("cache-control","no-cache")
+d42h :: HeaderSet
+d42h = [("cache-control","no-cache")
         ,(":method","GET")
         ,(":scheme","http")
         ,(":path","/")
         ,(":authority","www.example.com")]
 
-e32b :: ByteStream
-e32b = fromHexString "1b8663654a1398ff"
+d42b :: ByteStream
+d42b = fromHexString "5c86b9b9949556bf"
 
-e33 :: HeaderBlock
-e33 = [
-    Indexed 0
+d43 :: HeaderBlock
+d43 = [
+    Clear
   , Indexed 5
   , Indexed 12
   , Indexed 11
@@ -53,72 +53,72 @@
   , Literal Add (Lit "custom-key") "custom-value"
   ]
 
-e33h :: HeaderSet
-e33h = [(":method","GET")
+d43h :: HeaderSet
+d43h = [(":method","GET")
         ,(":scheme","https")
         ,(":path","/index.html")
         ,(":authority","www.example.com")
         ,("custom-key","custom-value")
         ]
 
-e33b :: ByteStream
-e33b = fromHexString "80858c8b8400884eb08b749790fa7f894eb08b74979a17a8ff"
+d43b :: ByteStream
+d43b = fromHexString "30858c8b844088571c5cdb737b2faf89571c5cdb73724d9c57"
 
 ----------------------------------------------------------------
 
-e51 :: HeaderBlock
-e51 = [
+d61 :: HeaderBlock
+d61 = [
     Literal Add (Idx 8) "302"
-  , Literal Add (Idx 24) "private"
-  , Literal Add (Idx 34) "Mon, 21 Oct 2013 20:13:21 GMT"
-  , Literal Add (Idx 48) "https://www.example.com"
+  , Literal Add (Idx 25) "private"
+  , Literal Add (Idx 35) "Mon, 21 Oct 2013 20:13:21 GMT"
+  , Literal Add (Idx 49) "https://www.example.com"
   ]
 
-e51h :: HeaderSet
-e51h = [(":status","302")
+d61h :: HeaderSet
+d61h = [(":status","302")
         ,("cache-control","private")
         ,("date","Mon, 21 Oct 2013 20:13:21 GMT")
         ,("location","https://www.example.com")
         ]
 
-e51b :: ByteStream
-e51b = fromHexString "088298a7188573d5cd111f2298ef6b3a7a0e6e8fa263d0729a6e8397d869bd873747bbbfc73090ce31743d801b6db107cd1a396244b74f"
+d61b :: ByteStream
+d61b = fromHexString "488240175985bf06724b976393d6dbb29884de2a718805062098513109b56ba37191adcebf198e7e7cf9bebe89b6fb16fa9b6f"
 
-e52 :: HeaderBlock
-e52 = [
+d62 :: HeaderBlock
+d62 = [
     Indexed 12
   ]
 
-e52h :: HeaderSet
-e52h = [(":status","200")
+d62h :: HeaderSet
+d62h = [(":status","200")
         ,("cache-control","private")
         ,("date","Mon, 21 Oct 2013 20:13:21 GMT")
         ,("location","https://www.example.com")
         ]
 
-e52b :: ByteStream
-e52b = fromHexString "8c"
+d62b :: ByteStream
+d62b = fromHexString "8c"
 
-e53 :: HeaderBlock
-e53 = [
+d63 :: HeaderBlock
+d63 = [
     Indexed 4
   , Indexed 4
   , Literal Add (Idx 3) "Mon, 21 Oct 2013 20:13:22 GMT"
-  , Literal Add (Idx 29) "gzip"
+  , Literal Add (Idx 30) "gzip"
   , Indexed 4
   , Indexed 4
   , Indexed 3
   , Indexed 3
-  ,Literal Add (Idx 58) "foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1"
+  ,Literal Add (Idx 59) "foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1"
   ]
 
-e53h :: HeaderSet
-e53h = [("cache-control","private")
+d63h :: HeaderSet
+d63h = [("cache-control","private")
         ,("date","Mon, 21 Oct 2013 20:13:22 GMT")
         ,("content-encoding","gzip")
         ,("location","https://www.example.com")
         ,(":status","200")
         ,("set-cookie","foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1")]
 
-e53b :: ByteStream
-e53b = fromHexString "84840398ef6b3a7a0e6e8fa263d0729a6e8397d869bd873f47bbbfc71d83cbd54e848483833ab3c5adb77f876fc7fbf7fdbfbebff3f7f4fb7ebbbe9f5f87e37fefedfaeefa7c3f1d5d1a23ce546436cd494bd5d1cc5f0535969b"
+d63b :: ByteStream
+d63b = fromHexString "84844393d6dbb29884de2a718805062098513111b56ba35e84abdd97ff848483837bb1e0d6cf9f6e8f9fd3e5f6fa76fefd3c7edf9eff1f2f0f3cfe9f6fcf7f8f879f61ad4f4cc9a973a2200ec3725e18b1b74e3f"
diff --git a/test/HeaderBlockSpec.hs b/test/HeaderBlockSpec.hs
--- a/test/HeaderBlockSpec.hs
+++ b/test/HeaderBlockSpec.hs
@@ -13,21 +13,21 @@
 spec = do
     describe "toByteStream" $ do
         it "encodes HeaderBlock" $ do
-            toByteStream True e31 `shouldBe` e31b
-            toByteStream True e32 `shouldBe` e32b
-            toByteStream True e33 `shouldBe` e33b
-            toByteStream True e51 `shouldBe` e51b
-            toByteStream True e52 `shouldBe` e52b
-            toByteStream True e53 `shouldBe` e53b
+            toByteStream True d41 `shouldBe` d41b
+            toByteStream True d42 `shouldBe` d42b
+            toByteStream True d43 `shouldBe` d43b
+            toByteStream True d61 `shouldBe` d61b
+            toByteStream True d62 `shouldBe` d62b
+            toByteStream True d63 `shouldBe` d63b
 
     describe "fromByteStream" $ do
         it "encodes HeaderBlock" $ do
-            fromByteStream e31b `shouldBe` Right e31
-            fromByteStream e32b `shouldBe` Right e32
-            fromByteStream e33b `shouldBe` Right e33
-            fromByteStream e51b `shouldBe` Right e51
-            fromByteStream e52b `shouldBe` Right e52
-            fromByteStream e53b `shouldBe` Right e53
+            fromByteStream d41b `shouldBe` Right d41
+            fromByteStream d42b `shouldBe` Right d42
+            fromByteStream d43b `shouldBe` Right d43
+            fromByteStream d61b `shouldBe` Right d61
+            fromByteStream d62b `shouldBe` Right d62
+            fromByteStream d63b `shouldBe` Right d63
     describe "toByteStream & fromByteStream" $ do
         prop "duality for request" $ \k v -> do
             let key = BS.pack ('k':k)
diff --git a/test/HuffmanSpec.hs b/test/HuffmanSpec.hs
--- a/test/HuffmanSpec.hs
+++ b/test/HuffmanSpec.hs
@@ -14,16 +14,16 @@
 testData :: [(ByteString, ByteString)]
 testData = [
     ("", "")
-  , ("www.example.com", "db6d883e68d1cb1225ba7f")
-  , ("no-cache", "63654a1398ff")
-  , ("custom-key", "4eb08b749790fa7f")
-  , ("custom-value", "4eb08b74979a17a8ff")
-  , ("private", "73d5cd111f")
-  , ("Mon, 21 Oct 2013 20:13:21 GMT", "ef6b3a7a0e6e8fa263d0729a6e8397d869bd873747bbbfc7")
-  , ("https://www.example.com", "ce31743d801b6db107cd1a396244b74f")
-  , ("Mon, 21 Oct 2013 20:13:22 GMT", "ef6b3a7a0e6e8fa263d0729a6e8397d869bd873f47bbbfc7")
-  , ("gzip", "cbd54e")
-  , ("foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1", "c5adb77f876fc7fbf7fdbfbebff3f7f4fb7ebbbe9f5f87e37fefedfaeefa7c3f1d5d1a23ce546436cd494bd5d1cc5f0535969b")
+  , ("www.example.com", "e7cf9bebe89b6fb16fa9b6ff")
+  , ("no-cache", "b9b9949556bf")
+  , ("custom-key", "571c5cdb737b2faf")
+  , ("custom-value", "571c5cdb73724d9c57")
+  , ("private", "bf06724b97")
+  , ("Mon, 21 Oct 2013 20:13:21 GMT", "d6dbb29884de2a718805062098513109b56ba3")
+  , ("https://www.example.com", "adcebf198e7e7cf9bebe89b6fb16fa9b6f")
+  , ("Mon, 21 Oct 2013 20:13:22 GMT", "d6dbb29884de2a718805062098513111b56ba3")
+  , ("gzip", "abdd97ff")
+  , ("foo=ASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age=3600; version=1", "e0d6cf9f6e8f9fd3e5f6fa76fefd3c7edf9eff1f2f0f3cfe9f6fcf7f8f879f61ad4f4cc9a973a2200ec3725e18b1b74e3f")
   ]
 
 shouldBeEncoded :: ByteString -> ByteString -> Expectation
@@ -48,6 +48,6 @@
     describe "decode" $ do
         it "decodes" $ do
             "ff" `shouldBeDecoded` Left TooLongEos
-            "fffff77f" `shouldBeDecoded` Right "\1"
-            "fffff77fff" `shouldBeDecoded` Left TooLongEos
+            "ffffeeff" `shouldBeDecoded` Right "\1"
+            "ffffeeffff" `shouldBeDecoded` Left TooLongEos
             mapM_ (\(x,y) -> y `shouldBeDecoded` Right x) testData
