diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,19 @@
+# streaming-osm
+
+## 1.0.2 (2020-07-16)
+
+#### Fixed
+
+- Member IDs for Relations will now parse properly. [#3](https://github.com/fosskers/streaming-osm/issues/3)
+
+## 1.0.1
+
+- Small tweaks and modernizations.
+
+## 1.0.0.1
+
+- Massaging bounds and future-proofing.
+
+## 1.0.0
+
+- Initial release.
diff --git a/ChangeLog.md b/ChangeLog.md
deleted file mode 100644
--- a/ChangeLog.md
+++ /dev/null
@@ -1,11 +0,0 @@
-## 1.0.1
-
-- Small tweaks and modernizations.
-
-## 1.0.0.1
-
-- Massaging bounds and future-proofing.
-
-## 1.0.0
-
-- Initial release.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,19 @@
+# `streaming-osm`
+
+This library provides the ability to read and process
+[OpenStreetMap](http://www.openstreetmap.org/) data via the
+[streaming](https://hackage.haskell.org/package/streaming) ecosystem. Since
+*streaming* allows for very little RAM overhead despite file size, we can
+process very large OSM PBF files just by providing a file path:
+
+```haskell
+import           Streaming
+import           Streaming.Osm
+import qualified Streaming.Prelude as S
+
+-- | Count all nodes.
+count :: IO ()
+count = do
+  len <- runResourceT . S.length_ . nodes . blocks $ blobs "yourfile.osm.pbf"
+  print len
+```
diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/lib/Streaming/Osm/Internal/Parser.hs b/lib/Streaming/Osm/Internal/Parser.hs
--- a/lib/Streaming/Osm/Internal/Parser.hs
+++ b/lib/Streaming/Osm/Internal/Parser.hs
@@ -116,7 +116,7 @@
   vs <- packed <$> (A.word8 0x1a *> varint >>= A.take) <|> pure []                -- vals
   oi <- optional (A.word8 0x22 *> varint *> info i st)                            -- info
   rs <- packed <$> (A.word8 0x42 *> varint >>= A.take) <|> pure []                -- roles_sid
-  ms <- map unzig . packed <$> (A.word8 0x4a *> varint >>= A.take) <|> pure []    -- memids
+  ms <- ints <$> (A.word8 0x4a *> varint >>= A.take) <|> pure []                  -- memids
   ts <- map memtype . packed <$> (A.word8 0x52 *> varint >>= A.take) <|> pure []  -- types
   let tags = M.fromList $ zip (map (V.unsafeIndex st) ks) (map (V.unsafeIndex st) vs)
       mems = zipWith3 Member ms ts $ map (V.unsafeIndex st) rs
diff --git a/streaming-osm.cabal b/streaming-osm.cabal
--- a/streaming-osm.cabal
+++ b/streaming-osm.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               streaming-osm
-version:            1.0.1
+version:            1.0.2
 synopsis:
   A hand-written streaming byte parser for OpenStreetMap Protobuf data.
 
@@ -13,9 +13,11 @@
 maintainer:         colin@fosskers.ca
 copyright:          Copyright (c) 2017 - 2020 Azavea
 category:           Streaming
+homepage:           https://github.com/fosskers/streaming-osm
 build-type:         Simple
 extra-source-files:
-  ChangeLog.md
+  CHANGELOG.md
+  README.md
   test/*.osm.pbf
 
 common commons
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE LambdaCase #-}
+
 module Main where
 
 import           Codec.Compression.Zlib (decompress)
@@ -83,6 +85,10 @@
     , testCase "North Van" $ fileS "test/north-van.osm.pbf" (48596, 7757, 52)
 --    , testCase "Vancouver" $ fileS "test/vancouver.osm.pbf" (804749, 156053, 1689)
     ]
+  , testGroup "Misc."
+    [ testCase "Relation Ref Values: Diomede" diomedeRefValues
+    , testCase "Relation Ref Values: Ajishima" ajishimaRefValues
+    ]
   ]
 
 assertRight :: Either t1 t -> Assertion
@@ -234,3 +240,25 @@
     Left err -> pure $ Left err
     Right (Blob (Left bs)) -> pure $ A.parseOnly block bs
     Right (Blob (Right (_, bs))) -> pure $ A.parseOnly block . BL.toStrict . decompress $ BL.fromStrict bs
+
+diomedeRefValues :: Assertion
+diomedeRefValues = fileT "test/diomede.osm.pbf" >>= \case
+  Left _ -> assertFailure "Couldn't parse the file."
+  Right (Block _ _ ((Relation [m0, m1] _ _):_)) -> do
+    _mref m0 @?= 32973894
+    _mref m1 @?= 4571349198
+  Right (Block _ _ _) -> assertFailure "Incorrect relation structure."
+
+ajishimaRefValues :: Assertion
+ajishimaRefValues = fileT "test/ajishima.osm.pbf" >>= \case
+  Left _ -> assertFailure "Couldn't parse the file."
+  Right (Block _ _ rs) -> case filter p rs of
+    [] -> assertFailure "Couldn't find the expected Relation."
+    (Relation ms _ ts : _) -> do
+      length ms @?= 19
+      length ts @?= 6
+      _mref (head ms) @?= 179786323
+      _mref (last ms) @?= 91476273
+  where
+    p (Relation _ (Just i) _) = _id i == 1341344
+    p _                       = False
