diff --git a/idiii.cabal b/idiii.cabal
--- a/idiii.cabal
+++ b/idiii.cabal
@@ -1,12 +1,12 @@
 Name:                idiii
-Version:             0.1.1
+Version:             0.1.2
 Synopsis:            Reading and writing of ID3v2 tags
 Description:         Reading and writing of ID3v2 tags
 Category:            Text, Sound
 License:             BSD3
 License-file:        LICENSE
-Author:              laughedelic, Chris Wagner
-Maintainer:          christopher.t.wagner@gmail.com
+Author:              Alexey Alekhin, Chris Wagner
+Maintainer:          christopher.t.wagner@gmail.com, alekhin.alexey@gmail.com
 Build-Depends:       base < 5, haskell98, bytestring, polyparse, text, data-accessor, utf8-string, containers, MissingH
 Build-Type:          Simple
 hs-source-dirs:      src
diff --git a/src/ID3/Parser/NativeFrames.hs b/src/ID3/Parser/NativeFrames.hs
--- a/src/ID3/Parser/NativeFrames.hs
+++ b/src/ID3/Parser/NativeFrames.hs
@@ -1493,5 +1493,5 @@
 --      for some reason...  All frames coming after the unidentified frame
 --      will fail to be read.
 frameInfo _ = do
-    cont <- parseString 0
-    return $ Unknown cont
+    frameData <- many' anyWord8
+    return $ Unknown frameData
diff --git a/src/ID3/Type/Frame.hs b/src/ID3/Type/Frame.hs
--- a/src/ID3/Type/Frame.hs
+++ b/src/ID3/Type/Frame.hs
@@ -26,7 +26,7 @@
                 , frInfo_    :: FrameInfo      -- ^ frame Information Value
                 }   deriving Eq
 
-emptyID3Frame = ID3Frame emptyFrameHeader (Unknown "")
+emptyID3Frame = ID3Frame emptyFrameHeader (Unknown [])
 initID3Frame  = flip compose emptyID3Frame
 
 frHeader = accessor frHeader_ (\x fr -> fr {frHeader_ = x})
@@ -320,4 +320,4 @@
             "PRIV" -> PRIV "" []
             --SIGN -- TODO
             --ASPI -- TODO
-            _      -> Unknown ""
+            _      -> Unknown []
diff --git a/src/ID3/Type/FrameInfo.hs b/src/ID3/Type/FrameInfo.hs
--- a/src/ID3/Type/FrameInfo.hs
+++ b/src/ID3/Type/FrameInfo.hs
@@ -66,7 +66,7 @@
 
                -- not native
                | TCMP { isPart :: Bool }
-               | Unknown { value :: String }
+               | Unknown { frameData :: [Word8] }
           deriving (Eq, Show)
 
 
@@ -110,6 +110,5 @@
                --SIGN -- TODO
                --ASPI -- TODO
                TCMP isPart -> 0x03 : (encode $ if isPart then "1" else "0")
-               Unknown x -> encode x
-               _ -> encode "unknown!!!"
-
+               Unknown x -> x
+               f -> error $ "No pattern matched for encoding following frame: " ++ show f
