diff --git a/Web/Twitter/Types.hs b/Web/Twitter/Types.hs
--- a/Web/Twitter/Types.hs
+++ b/Web/Twitter/Types.hs
@@ -1,4 +1,8 @@
-{-# LANGUAGE OverloadedStrings, DeriveDataTypeable, RecordWildCards, DeriveGeneric #-}
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE LambdaCase #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
 
 module Web.Twitter.Types
        ( UserId
@@ -35,6 +39,7 @@
        , Contributor(..)
        , UploadedMedia (..)
        , ImageSizeType (..)
+       , DisplayTextRange (..)
        , checkError
        , twitterTimeFormat
        )
@@ -147,6 +152,7 @@
     , statusWithheldCopyright :: Maybe Bool
     , statusWithheldInCountries :: Maybe [Text]
     , statusWithheldScope :: Maybe Text
+    , statusDisplayTextRange :: Maybe DisplayTextRange
     } deriving (Show, Eq, Data, Typeable, Generic)
 
 instance FromJSON Status where
@@ -174,12 +180,13 @@
                <*> o .:? "retweeted"
                <*> o .:? "retweeted_status"
                <*> o .:  "source"
-               <*> o .:  "text"
+               <*> (o .: "full_text" <|> o .: "text")
                <*> o .:  "truncated"
                <*> o .:  "user"
                <*> o .:? "withheld_copyright"
                <*> o .:? "withheld_in_countries"
                <*> o .:? "withheld_scope"
+               <*> o .:? "display_text_range"
     parseJSON v = fail $ "couldn't parse status from: " ++ show v
 
 instance ToJSON Status where
@@ -214,6 +221,7 @@
                                , "withheld_copyright"       .= statusWithheldCopyright
                                , "withheld_in_countries"    .= statusWithheldInCountries
                                , "withheld_scope"           .= statusWithheldScope
+                               , "display_text_range"       .= statusDisplayTextRange
                                ]
 
 data SearchResult body =
@@ -978,3 +986,18 @@
                                       , "size"      .= uploadedMediaSize
                                       , "image"     .= uploadedMediaImage
                                       ]
+
+-- | unicode code point indices, identifying the inclusive start and exclusive end of the displayable content of the Tweet.
+data DisplayTextRange = DisplayTextRange
+    { displayTextRangeStart :: Int
+    , displayTextRangeEnd :: Int -- ^ exclusive
+    } deriving (Show, Eq, Ord, Data, Typeable, Generic)
+
+instance FromJSON DisplayTextRange where
+    parseJSON v = do
+        parseJSON v >>= \case
+            [s, e] -> pure $ DisplayTextRange s e
+            unexpected ->
+                fail $ "parsing DisplayTextRange failed, expected [Int, Int], but got: " ++ show unexpected
+instance ToJSON DisplayTextRange where
+    toJSON (DisplayTextRange s e) = toJSON [s, e]
diff --git a/tests/Instances.hs b/tests/Instances.hs
--- a/tests/Instances.hs
+++ b/tests/Instances.hs
@@ -69,6 +69,7 @@
                <*> arbitrary
                <*> arbitrary
                <*> arbitrary
+               <*> arbitrary
 
 instance Arbitrary SearchStatus where
     arbitrary = genericArbitraryU
@@ -159,4 +160,6 @@
 instance Arbitrary ImageSizeType where
     arbitrary = genericArbitraryU
 instance Arbitrary UploadedMedia where
+    arbitrary = genericArbitraryU
+instance Arbitrary DisplayTextRange where
     arbitrary = genericArbitraryU
diff --git a/tests/StatusTest.hs b/tests/StatusTest.hs
new file mode 100644
--- /dev/null
+++ b/tests/StatusTest.hs
@@ -0,0 +1,169 @@
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE OverloadedStrings #-}
+
+module StatusTest where
+
+import Data.Aeson
+import qualified Data.Aeson.Types as Aeson
+import qualified Data.HashMap.Strict as M
+import Data.Maybe
+import Fixtures
+import Instances()
+import Test.Tasty
+import Test.Tasty.HUnit
+import Test.Tasty.TH
+import Web.Twitter.Types
+
+example_compatibility_classic_13995 :: Status -> Assertion
+example_compatibility_classic_13995 obj = do
+    statusCreatedAt obj @?= "Mon Mar 07 15:13:47 +0000 2016"
+    statusId obj @?= 706860403981099008
+    statusText obj @?= "Peek-a-boo! https://t.co/R3P6waHxRa"
+    statusSource obj @?= "<a href=\"http://www.apple.com/\" rel=\"nofollow\">OS X</a>"
+    statusTruncated obj @?= False
+    statusEntities obj @?=
+        Just
+            (Entities
+             { enHashTags = []
+             , enUserMentions = []
+             , enURLs = []
+             , enMedia =
+                   [ Entity
+                     { entityBody =
+                           MediaEntity
+                           { meType = "photo"
+                           , meId = 706860403746181121
+                           , meSizes =
+                                 M.fromList
+                                     [ ( "small"
+                                       , MediaSize
+                                         { msWidth = 340
+                                         , msHeight = 226
+                                         , msResize = "fit"
+                                         })
+                                     , ( "large"
+                                       , MediaSize
+                                         { msWidth = 1024
+                                         , msHeight = 680
+                                         , msResize = "fit"
+                                         })
+                                     , ( "medium"
+                                       , MediaSize
+                                         { msWidth = 600
+                                         , msHeight = 398
+                                         , msResize = "fit"
+                                         })
+                                     , ( "thumb"
+                                       , MediaSize
+                                         { msWidth = 150
+                                         , msHeight = 150
+                                         , msResize = "crop"
+                                         })
+                                     ]
+                           , meMediaURL = "http://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg"
+                           , meMediaURLHttps = "https://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg"
+                           , meURL =
+                                 URLEntity
+                                 { ueURL = "https://t.co/R3P6waHxRa"
+                                 , ueExpanded = "http://twitter.com/jeremycloud/status/706860403981099008/photo/1"
+                                 , ueDisplay = "pic.twitter.com/R3P6waHxRa"
+                                 }
+                           }
+                     , entityIndices = [12, 35]
+                     }
+                   ]
+             })
+    statusExtendedEntities obj @?=
+        Just
+            (ExtendedEntities
+             { exeMedia =
+                   [ Entity
+                     { entityBody =
+                           ExtendedEntity
+                           { exeID = 706860403746181121
+                           , exeMediaUrl = "http://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg"
+                           , exeMediaUrlHttps = "https://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg"
+                           , exeSizes =
+                                 M.fromList
+                                     [ ( "small"
+                                       , MediaSize
+                                         { msWidth = 340
+                                         , msHeight = 226
+                                         , msResize = "fit"
+                                         })
+                                     , ( "large"
+                                       , MediaSize
+                                         { msWidth = 1024
+                                         , msHeight = 680
+                                         , msResize = "fit"
+                                         })
+                                     , ( "medium"
+                                       , MediaSize
+                                         { msWidth = 600
+                                         , msHeight = 398
+                                         , msResize = "fit"
+                                         })
+                                     , ( "thumb"
+                                       , MediaSize
+                                         { msWidth = 150
+                                         , msHeight = 150
+                                         , msResize = "crop"
+                                         })
+                                     ]
+                           , exeType = "photo"
+                           , exeDurationMillis = Nothing
+                           , exeExtAltText = Nothing
+                           , exeURL =
+                                 URLEntity
+                                 { ueURL = "https://t.co/R3P6waHxRa"
+                                 , ueExpanded = "http://twitter.com/jeremycloud/status/706860403981099008/photo/1"
+                                 , ueDisplay = "pic.twitter.com/R3P6waHxRa"
+                                 }
+                           }
+                     , entityIndices = [12, 35]
+                     }
+                   ]
+             })
+    statusInReplyToStatusId obj @?= Nothing
+    statusInReplyToUserId obj @?= Nothing
+    statusFavorited obj @?= Just False
+    statusQuotedStatus obj @?= Nothing
+    statusQuotedStatusId obj @?= Nothing
+    statusRetweetCount obj @?= 0
+    (userScreenName . statusUser) obj @?= "jeremycloud"
+    statusRetweetedStatus obj @?= Nothing
+    statusPlace obj @?= Nothing
+    statusFavoriteCount obj @?= 8
+    statusLang obj @?= Just "en"
+    statusPossiblySensitive obj @?= Just False
+    statusCoordinates obj @?= Nothing
+
+case_compatibility_classic_13995 :: Assertion
+case_compatibility_classic_13995 = do
+    withFixtureJSON "tweet-updates/compatibility_classic_13995.json" $ example_compatibility_classic_13995
+    withFixtureJSON "tweet-updates/compatibility_classic_13995_extended.json" $ example_compatibility_classic_13995
+
+-- case_compatibility_classic_hidden_13797 :: Assertion
+-- case_compatibility_classic_hidden_13797 = withFixtureJSON "tweet-updates/compatibility_classic_hidden_13797" $ \obj -> do
+-- case_compatibility_extended_13996 :: Assertion
+-- case_compatibility_extended_13996 = withFixtureJSON "tweet-updates/compatibility_extended_13996" $ \obj -> do
+-- case_compatibilityplus_classic_13994 :: Assertion
+-- case_compatibilityplus_classic_13994 = withFixtureJSON "tweet-updates/compatibilityplus_classic_13994" $ \obj -> do
+-- case_compatibilityplus_classic_hidden_13797 :: Assertion
+-- case_compatibilityplus_classic_hidden_13797 = withFixtureJSON "tweet-updates/compatibilityplus_classic_hidden_13797" $ \obj -> do
+-- case_compatibilityplus_extended_13997 :: Assertion
+-- case_compatibilityplus_extended_13997 = withFixtureJSON "tweet-updates/compatibilityplus_extended_13997" $ \obj -> do
+-- case_extended_classic_14002 :: Assertion
+-- case_extended_classic_14002 = withFixtureJSON "tweet-updates/extended_classic_14002" $ \obj -> do
+-- case_extended_classic_hidden_13761 :: Assertion
+-- case_extended_classic_hidden_13761 = withFixtureJSON "tweet-updates/extended_classic_hidden_13761" $ \obj -> do
+
+case_extended_extended_14001 :: Assertion
+case_extended_extended_14001 = withFixtureJSON "tweet-updates/extended_extended_14001.json" $ \obj -> do
+    statusText obj @?= "@twitter @twitterdev has more details about these changes at https://t.co/ZnXoRQy8mK.  Thanks for making @twitter more expressive! https://t.co/AWmiH870F7"
+    statusTruncated obj @?= False
+    statusDisplayTextRange obj @?= Just (DisplayTextRange 9 130)
+
+tests :: TestTree
+tests = $(testGroupGenerator)
+
diff --git a/tests/fixtures/tweet-updates/compatibility_classic_13995.json b/tests/fixtures/tweet-updates/compatibility_classic_13995.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibility_classic_13995.json
@@ -0,0 +1,169 @@
+{
+  "created_at": "Mon Mar 07 15:13:47 +0000 2016",
+  "id": 706860403981099008,
+  "id_str": "706860403981099008",
+  "text": "Peek-a-boo! https://t.co/R3P6waHxRa",
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [],
+    "urls": [],
+    "media": [
+      {
+        "id": 706860403746181121,
+        "id_str": "706860403746181121",
+        "indices": [
+          12,
+          35
+        ],
+        "media_url": "http://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "media_url_https": "https://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "url": "https://t.co/R3P6waHxRa",
+        "display_url": "pic.twitter.com/R3P6waHxRa",
+        "expanded_url": "http://twitter.com/jeremycloud/status/706860403981099008/photo/1",
+        "type": "photo",
+        "sizes": {
+          "medium": {
+            "w": 600,
+            "h": 398,
+            "resize": "fit"
+          },
+          "small": {
+            "w": 340,
+            "h": 226,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 1024,
+            "h": 680,
+            "resize": "fit"
+          }
+        }
+      }
+    ]
+  },
+  "extended_entities": {
+    "media": [
+      {
+        "id": 706860403746181121,
+        "id_str": "706860403746181121",
+        "indices": [
+          12,
+          35
+        ],
+        "media_url": "http://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "media_url_https": "https://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "url": "https://t.co/R3P6waHxRa",
+        "display_url": "pic.twitter.com/R3P6waHxRa",
+        "expanded_url": "http://twitter.com/jeremycloud/status/706860403981099008/photo/1",
+        "type": "photo",
+        "sizes": {
+          "medium": {
+            "w": 600,
+            "h": 398,
+            "resize": "fit"
+          },
+          "small": {
+            "w": 340,
+            "h": 226,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 1024,
+            "h": 680,
+            "resize": "fit"
+          }
+        }
+      }
+    ]
+  },
+  "truncated": false,
+  "source": "<a href=\"http://www.apple.com/\" rel=\"nofollow\">OS X</a>",
+  "in_reply_to_status_id": null,
+  "in_reply_to_status_id_str": null,
+  "in_reply_to_user_id": null,
+  "in_reply_to_user_id_str": null,
+  "in_reply_to_screen_name": null,
+  "user": {
+    "id": 15062340,
+    "id_str": "15062340",
+    "name": "/dev/cloud/jeremy",
+    "screen_name": "jeremycloud",
+    "location": "Madison, Wisconsin",
+    "description": "Professional yak shaver. Amateur bike shedder.",
+    "url": "https://t.co/FcYeBkOpVY",
+    "entities": {
+      "url": {
+        "urls": [
+          {
+            "url": "https://t.co/FcYeBkOpVY",
+            "expanded_url": "http://about.me/jeremy.cloud",
+            "display_url": "about.me/jeremy.cloud",
+            "indices": [
+              0,
+              23
+            ]
+          }
+        ]
+      },
+      "description": {
+        "urls": []
+      }
+    },
+    "protected": false,
+    "followers_count": 4324,
+    "friends_count": 410,
+    "listed_count": 103,
+    "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+    "favourites_count": 815,
+    "utc_offset": -18000,
+    "time_zone": "Central Time (US & Canada)",
+    "geo_enabled": true,
+    "verified": false,
+    "statuses_count": 2218,
+    "lang": "en",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "000000",
+    "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+    "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+    "profile_link_color": "4A913C",
+    "profile_sidebar_border_color": "000000",
+    "profile_sidebar_fill_color": "000000",
+    "profile_text_color": "000000",
+    "profile_use_background_image": false,
+    "has_extended_profile": true,
+    "default_profile": false,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "is_quote_status": false,
+  "retweet_count": 0,
+  "favorite_count": 8,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/compatibility_classic_13995_extended.json b/tests/fixtures/tweet-updates/compatibility_classic_13995_extended.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibility_classic_13995_extended.json
@@ -0,0 +1,173 @@
+{
+  "created_at": "Mon Mar 07 15:13:47 +0000 2016",
+  "id": 706860403981099008,
+  "id_str": "706860403981099008",
+  "full_text": "Peek-a-boo! https://t.co/R3P6waHxRa",
+  "display_text_range": [
+    0,
+    35
+  ],
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [],
+    "urls": [],
+    "media": [
+      {
+        "id": 706860403746181121,
+        "id_str": "706860403746181121",
+        "indices": [
+          12,
+          35
+        ],
+        "media_url": "http://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "media_url_https": "https://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "url": "https://t.co/R3P6waHxRa",
+        "display_url": "pic.twitter.com/R3P6waHxRa",
+        "expanded_url": "http://twitter.com/jeremycloud/status/706860403981099008/photo/1",
+        "type": "photo",
+        "sizes": {
+          "medium": {
+            "w": 600,
+            "h": 398,
+            "resize": "fit"
+          },
+          "small": {
+            "w": 340,
+            "h": 226,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 1024,
+            "h": 680,
+            "resize": "fit"
+          }
+        }
+      }
+    ]
+  },
+  "extended_entities": {
+    "media": [
+      {
+        "id": 706860403746181121,
+        "id_str": "706860403746181121",
+        "indices": [
+          12,
+          35
+        ],
+        "media_url": "http://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "media_url_https": "https://pbs.twimg.com/media/Cc9FyscUkAEQaOw.jpg",
+        "url": "https://t.co/R3P6waHxRa",
+        "display_url": "pic.twitter.com/R3P6waHxRa",
+        "expanded_url": "http://twitter.com/jeremycloud/status/706860403981099008/photo/1",
+        "type": "photo",
+        "sizes": {
+          "medium": {
+            "w": 600,
+            "h": 398,
+            "resize": "fit"
+          },
+          "small": {
+            "w": 340,
+            "h": 226,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 1024,
+            "h": 680,
+            "resize": "fit"
+          }
+        }
+      }
+    ]
+  },
+  "truncated": false,
+  "source": "<a href=\"http://www.apple.com/\" rel=\"nofollow\">OS X</a>",
+  "in_reply_to_status_id": null,
+  "in_reply_to_status_id_str": null,
+  "in_reply_to_user_id": null,
+  "in_reply_to_user_id_str": null,
+  "in_reply_to_screen_name": null,
+  "user": {
+    "id": 15062340,
+    "id_str": "15062340",
+    "name": "/dev/cloud/jeremy",
+    "screen_name": "jeremycloud",
+    "location": "Madison, Wisconsin",
+    "description": "Professional yak shaver. Amateur bike shedder.",
+    "url": "https://t.co/FcYeBkOpVY",
+    "entities": {
+      "url": {
+        "urls": [
+          {
+            "url": "https://t.co/FcYeBkOpVY",
+            "expanded_url": "http://about.me/jeremy.cloud",
+            "display_url": "about.me/jeremy.cloud",
+            "indices": [
+              0,
+              23
+            ]
+          }
+        ]
+      },
+      "description": {
+        "urls": []
+      }
+    },
+    "protected": false,
+    "followers_count": 4324,
+    "friends_count": 410,
+    "listed_count": 103,
+    "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+    "favourites_count": 815,
+    "utc_offset": -18000,
+    "time_zone": "Central Time (US & Canada)",
+    "geo_enabled": true,
+    "verified": false,
+    "statuses_count": 2218,
+    "lang": "en",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "000000",
+    "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+    "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+    "profile_link_color": "4A913C",
+    "profile_sidebar_border_color": "000000",
+    "profile_sidebar_fill_color": "000000",
+    "profile_text_color": "000000",
+    "profile_use_background_image": false,
+    "has_extended_profile": true,
+    "default_profile": false,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "is_quote_status": false,
+  "retweet_count": 0,
+  "favorite_count": 8,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/compatibility_classic_hidden_13797.json b/tests/fixtures/tweet-updates/compatibility_classic_hidden_13797.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibility_classic_hidden_13797.json
@@ -0,0 +1,270 @@
+{
+  "created_at": "Thu Mar 10 23:12:12 +0000 2016",
+  "id": 708067963060916224,
+  "id_str": "708067963060916224",
+  "text": "@jeremycloud Who would win in a battle between a Barred Owl and a Cooper's Hawk? https://t.co/FamikDro2h",
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "jeremycloud",
+        "name": "/dev/cloud/jeremy",
+        "id": 15062340,
+        "id_str": "15062340",
+        "indices": [
+          0,
+          12
+        ]
+      }
+    ],
+    "urls": [
+      {
+        "url": "https://t.co/FamikDro2h",
+        "expanded_url": "https://twitter.com/jeremycloud/status/703621193417379840",
+        "display_url": "twitter.com/jeremycloud/stâ€¦",
+        "indices": [
+          81,
+          104
+        ]
+      }
+    ]
+  },
+  "truncated": false,
+  "source": "bonesTwurl",
+  "in_reply_to_status_id": 704059336788606976,
+  "in_reply_to_status_id_str": "704059336788606976",
+  "in_reply_to_user_id": 15062340,
+  "in_reply_to_user_id_str": "15062340",
+  "in_reply_to_screen_name": "jeremycloud",
+  "user": {
+    "id": 4449621923,
+    "id_str": "4449621923",
+    "name": "Mr Bones",
+    "screen_name": "MrBonesDroid",
+    "location": "",
+    "profile_location": null,
+    "description": "",
+    "url": null,
+    "entities": {
+    "description": {
+    "urls": []
+     }
+    },
+    "protected": true,
+    "followers_count": 5,
+    "friends_count": 7,
+    "listed_count": 0,
+    "created_at": "Fri Dec 11 15:18:02 +0000 2015",
+    "favourites_count": 7,
+    "utc_offset": -25200,
+    "time_zone": "Pacific Time (US & Canada)",
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 35,
+    "lang": "en-gb",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "F5F8FA",
+    "profile_background_image_url": null,
+    "profile_background_image_url_https": null,
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_link_color": "2B7BB9",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "quoted_status_id": 703621193417379840,
+  "quoted_status_id_str": "703621193417379840",
+  "quoted_status": {
+    "created_at": "Sat Feb 27 16:42:19 +0000 2016",
+    "id": 703621193417379840,
+    "id_str": "703621193417379840",
+    "text": "Cooperâ€™s Hawk https://t.co/nppuOGne9X",
+    "entities": {
+      "hashtags": [],
+      "symbols": [],
+      "user_mentions": [],
+      "urls": [],
+      "media": [
+        {
+          "id": 703621193182502913,
+          "id_str": "703621193182502913",
+          "indices": [
+            14,
+            37
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "url": "https://t.co/nppuOGne9X",
+          "display_url": "pic.twitter.com/nppuOGne9X",
+          "expanded_url": "http://twitter.com/jeremycloud/status/703621193417379840/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 398,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 1024,
+              "h": 680,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 226,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "extended_entities": {
+      "media": [
+        {
+          "id": 703621193182502913,
+          "id_str": "703621193182502913",
+          "indices": [
+            14,
+            37
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "url": "https://t.co/nppuOGne9X",
+          "display_url": "pic.twitter.com/nppuOGne9X",
+          "expanded_url": "http://twitter.com/jeremycloud/status/703621193417379840/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 398,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 1024,
+              "h": 680,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 226,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "truncated": false,
+    "source": "<a href=\"http://www.apple.com/\" rel=\"nofollow\">OS X</a>",
+    "in_reply_to_status_id": null,
+    "in_reply_to_status_id_str": null,
+    "in_reply_to_user_id": null,
+    "in_reply_to_user_id_str": null,
+    "in_reply_to_screen_name": null,
+    "user": {
+      "id": 15062340,
+      "id_str": "15062340",
+      "name": "/dev/cloud/jeremy",
+      "screen_name": "jeremycloud",
+      "location": "Madison, Wisconsin",
+      "description": "Professional yak shaver. Amateur bike shedder.",
+      "url": "https://t.co/FcYeBkOpVY",
+      "entities": {
+        "url": {
+          "urls": [
+            {
+              "url": "https://t.co/FcYeBkOpVY",
+              "expanded_url": "http://about.me/jeremy.cloud",
+              "display_url": "about.me/jeremy.cloud",
+              "indices": [
+                0,
+                23
+              ]
+            }
+          ]
+        },
+        "description": {
+          "urls": []
+        }
+      },
+      "protected": false,
+      "followers_count": 4329,
+      "friends_count": 411,
+      "listed_count": 103,
+      "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+      "favourites_count": 803,
+      "utc_offset": -21600,
+      "time_zone": "Central Time (US & Canada)",
+      "geo_enabled": true,
+      "verified": false,
+      "statuses_count": 2216,
+      "lang": "en",
+      "contributors_enabled": false,
+      "is_translator": false,
+      "is_translation_enabled": false,
+      "profile_background_color": "000000",
+      "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_tile": false,
+      "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+      "profile_link_color": "4A913C",
+      "profile_sidebar_border_color": "000000",
+      "profile_sidebar_fill_color": "000000",
+      "profile_text_color": "000000",
+      "profile_use_background_image": false,
+      "has_extended_profile": true,
+      "default_profile": false,
+      "default_profile_image": false,
+      "following": true,
+      "follow_request_sent": false,
+      "notifications": false
+    },
+    "geo": null,
+    "coordinates": null,
+    "place": null,
+    "contributors": null,
+    "is_quote_status": false,
+    "retweet_count": 0,
+    "favorite_count": 2,
+    "favorited": false,
+    "retweeted": false,
+    "possibly_sensitive": false,
+    "possibly_sensitive_appealable": false,
+    "lang": "en"
+  },
+  "is_quote_status": true,
+  "retweet_count": 0,
+  "favorite_count": 0,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/compatibility_extended_13996.json b/tests/fixtures/tweet-updates/compatibility_extended_13996.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibility_extended_13996.json
@@ -0,0 +1,278 @@
+{
+  "created_at": "Thu Mar 10 23:12:12 +0000 2016",
+  "id": 708067963060916224,
+  "id_str": "708067963060916224",
+  "full_text": "@jeremycloud Who would win in a battle between a Barred Owl and a Cooper's Hawk? https://t.co/FamikDro2h",
+  "display_text_range": [
+    13,
+    80
+  ],
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "jeremycloud",
+        "name": "/dev/cloud/jeremy",
+        "id": 15062340,
+        "id_str": "15062340",
+        "indices": [
+          0,
+          12
+        ]
+      }
+    ],
+    "urls": [
+      {
+        "url": "https://t.co/FamikDro2h",
+        "expanded_url": "https://twitter.com/jeremycloud/status/703621193417379840",
+        "display_url": "twitter.com/jeremycloud/stâ€¦",
+        "indices": [
+          81,
+          104
+        ]
+      }
+    ]
+  },
+  "truncated": false,
+  "source": "bonesTwurl",
+  "in_reply_to_status_id": 704059336788606976,
+  "in_reply_to_status_id_str": "704059336788606976",
+  "in_reply_to_user_id": 15062340,
+  "in_reply_to_user_id_str": "15062340",
+  "in_reply_to_screen_name": "jeremycloud",
+  "user": {
+    "id": 4449621923,
+    "id_str": "4449621923",
+    "name": "Mr Bones",
+    "screen_name": "MrBonesDroid",
+    "location": "",
+    "profile_location": null,
+    "description": "",
+    "url": null,
+    "entities": {
+    "description": {
+    "urls": []
+     }
+    },
+    "protected": true,
+    "followers_count": 5,
+    "friends_count": 7,
+    "listed_count": 0,
+    "created_at": "Fri Dec 11 15:18:02 +0000 2015",
+    "favourites_count": 7,
+    "utc_offset": -25200,
+    "time_zone": "Pacific Time (US & Canada)",
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 35,
+    "lang": "en-gb",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "F5F8FA",
+    "profile_background_image_url": null,
+    "profile_background_image_url_https": null,
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_link_color": "2B7BB9",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "quoted_status_id": 703621193417379840,
+  "quoted_status_id_str": "703621193417379840",
+  "quoted_status": {
+    "created_at": "Sat Feb 27 16:42:19 +0000 2016",
+    "id": 703621193417379840,
+    "id_str": "703621193417379840",
+    "full_text": "Cooperâ€™s Hawk https://t.co/nppuOGne9X",
+    "display_text_range": [
+      0,
+      37
+    ],
+    "entities": {
+      "hashtags": [],
+      "symbols": [],
+      "user_mentions": [],
+      "urls": [],
+      "media": [
+        {
+          "id": 703621193182502913,
+          "id_str": "703621193182502913",
+          "indices": [
+            14,
+            37
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "url": "https://t.co/nppuOGne9X",
+          "display_url": "pic.twitter.com/nppuOGne9X",
+          "expanded_url": "http://twitter.com/jeremycloud/status/703621193417379840/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 398,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 1024,
+              "h": 680,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 226,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "extended_entities": {
+      "media": [
+        {
+          "id": 703621193182502913,
+          "id_str": "703621193182502913",
+          "indices": [
+            14,
+            37
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcPDv0wUYAE3D-2.jpg",
+          "url": "https://t.co/nppuOGne9X",
+          "display_url": "pic.twitter.com/nppuOGne9X",
+          "expanded_url": "http://twitter.com/jeremycloud/status/703621193417379840/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 398,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 1024,
+              "h": 680,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 226,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "truncated": false,
+    "source": "<a href=\"http://www.apple.com/\" rel=\"nofollow\">OS X</a>",
+    "in_reply_to_status_id": null,
+    "in_reply_to_status_id_str": null,
+    "in_reply_to_user_id": null,
+    "in_reply_to_user_id_str": null,
+    "in_reply_to_screen_name": null,
+    "user": {
+      "id": 15062340,
+      "id_str": "15062340",
+      "name": "/dev/cloud/jeremy",
+      "screen_name": "jeremycloud",
+      "location": "Madison, Wisconsin",
+      "description": "Professional yak shaver. Amateur bike shedder.",
+      "url": "https://t.co/FcYeBkOpVY",
+      "entities": {
+        "url": {
+          "urls": [
+            {
+              "url": "https://t.co/FcYeBkOpVY",
+              "expanded_url": "http://about.me/jeremy.cloud",
+              "display_url": "about.me/jeremy.cloud",
+              "indices": [
+                0,
+                23
+              ]
+            }
+          ]
+        },
+        "description": {
+          "urls": []
+        }
+      },
+      "protected": false,
+      "followers_count": 4329,
+      "friends_count": 411,
+      "listed_count": 103,
+      "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+      "favourites_count": 803,
+      "utc_offset": -21600,
+      "time_zone": "Central Time (US & Canada)",
+      "geo_enabled": true,
+      "verified": false,
+      "statuses_count": 2216,
+      "lang": "en",
+      "contributors_enabled": false,
+      "is_translator": false,
+      "is_translation_enabled": false,
+      "profile_background_color": "000000",
+      "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_tile": false,
+      "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+      "profile_link_color": "4A913C",
+      "profile_sidebar_border_color": "000000",
+      "profile_sidebar_fill_color": "000000",
+      "profile_text_color": "000000",
+      "profile_use_background_image": false,
+      "has_extended_profile": true,
+      "default_profile": false,
+      "default_profile_image": false,
+      "following": true,
+      "follow_request_sent": false,
+      "notifications": false
+    },
+    "geo": null,
+    "coordinates": null,
+    "place": null,
+    "contributors": null,
+    "is_quote_status": false,
+    "retweet_count": 0,
+    "favorite_count": 2,
+    "favorited": false,
+    "retweeted": false,
+    "possibly_sensitive": false,
+    "possibly_sensitive_appealable": false,
+    "lang": "en"
+  },
+  "is_quote_status": true,
+  "retweet_count": 0,
+  "favorite_count": 0,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/compatibilityplus_classic_13994.json b/tests/fixtures/tweet-updates/compatibilityplus_classic_13994.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibilityplus_classic_13994.json
@@ -0,0 +1,270 @@
+{
+  "created_at": "Mon Mar 28 14:39:13 +0000 2016",
+  "id": 714461850188926976,
+  "id_str": "714461850188926976",
+  "text": "@jeremycloud It's neat to have owls and raccoons around until you realize that raccoons will eat the eggs from the â€¦ https://t.co/OY7qmdJQnO",
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "jeremycloud",
+        "name": "/dev/cloud/jeremy",
+        "id": 15062340,
+        "id_str": "15062340",
+        "indices": [
+          0,
+          12
+        ]
+      }
+    ],
+    "urls": [
+      {
+        "url": "https://t.co/OY7qmdJQnO",
+        "expanded_url": "https://twitter.com/i/web/status/714461850188926976",
+        "display_url": "twitter.com/i/web/status/7â€¦",
+        "indices": [
+          117,
+          140
+        ]
+      }
+    ]
+  },
+  "truncated": true,
+  "source": "<a href=\"http://twitter.com\" rel=\"nofollow\">Twitter Web Client</a>",
+  "in_reply_to_status_id": 706860403981099008,
+  "in_reply_to_status_id_str": "706860403981099008",
+  "in_reply_to_user_id": 15062340,
+  "in_reply_to_user_id_str": "15062340",
+  "in_reply_to_screen_name": "jeremycloud",
+  "user": {
+    "id": 4449621923,
+    "id_str": "4449621923",
+    "name": "Mr Bones",
+    "screen_name": "MrBonesDroid",
+    "location": "",
+    "profile_location": null,
+    "description": "",
+    "url": null,
+    "entities": {
+    "description": {
+    "urls": []
+     }
+    },
+    "protected": true,
+    "followers_count": 5,
+    "friends_count": 7,
+    "listed_count": 0,
+    "created_at": "Fri Dec 11 15:18:02 +0000 2015",
+    "favourites_count": 7,
+    "utc_offset": -25200,
+    "time_zone": "Pacific Time (US & Canada)",
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 35,
+    "lang": "en-gb",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "F5F8FA",
+    "profile_background_image_url": null,
+    "profile_background_image_url_https": null,
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_link_color": "2B7BB9",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "quoted_status_id": 704059336788606976,
+  "quoted_status_id_str": "704059336788606976",
+  "quoted_status": {
+    "created_at": "Sun Feb 28 21:43:21 +0000 2016",
+    "id": 704059336788606976,
+    "id_str": "704059336788606976",
+    "text": "My favorite photographic subject, up closer than ever before. https://t.co/K958bKh9Sd",
+    "entities": {
+      "hashtags": [],
+      "symbols": [],
+      "user_mentions": [],
+      "urls": [],
+      "media": [
+        {
+          "id": 704059330149031936,
+          "id_str": "704059330149031936",
+          "indices": [
+            62,
+            85
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "url": "https://t.co/K958bKh9Sd",
+          "display_url": "pic.twitter.com/K958bKh9Sd",
+          "expanded_url": "http://twitter.com/jeremycloud/status/704059336788606976/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 600,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 871,
+              "h": 871,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 340,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "extended_entities": {
+      "media": [
+        {
+          "id": 704059330149031936,
+          "id_str": "704059330149031936",
+          "indices": [
+            62,
+            85
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "url": "https://t.co/K958bKh9Sd",
+          "display_url": "pic.twitter.com/K958bKh9Sd",
+          "expanded_url": "http://twitter.com/jeremycloud/status/704059336788606976/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 600,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 871,
+              "h": 871,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 340,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "truncated": false,
+    "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>",
+    "in_reply_to_status_id": null,
+    "in_reply_to_status_id_str": null,
+    "in_reply_to_user_id": null,
+    "in_reply_to_user_id_str": null,
+    "in_reply_to_screen_name": null,
+    "user": {
+      "id": 15062340,
+      "id_str": "15062340",
+      "name": "/dev/cloud/jeremy",
+      "screen_name": "jeremycloud",
+      "location": "Madison, Wisconsin",
+      "description": "Professional yak shaver. Amateur bike shedder.",
+      "url": "https://t.co/FcYeBkOpVY",
+      "entities": {
+        "url": {
+          "urls": [
+            {
+              "url": "https://t.co/FcYeBkOpVY",
+              "expanded_url": "http://about.me/jeremy.cloud",
+              "display_url": "about.me/jeremy.cloud",
+              "indices": [
+                0,
+                23
+              ]
+            }
+          ]
+        },
+        "description": {
+          "urls": []
+        }
+      },
+      "protected": false,
+      "followers_count": 4324,
+      "friends_count": 410,
+      "listed_count": 103,
+      "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+      "favourites_count": 815,
+      "utc_offset": -18000,
+      "time_zone": "Central Time (US & Canada)",
+      "geo_enabled": true,
+      "verified": false,
+      "statuses_count": 2218,
+      "lang": "en",
+      "contributors_enabled": false,
+      "is_translator": false,
+      "is_translation_enabled": false,
+      "profile_background_color": "000000",
+      "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_tile": false,
+      "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+      "profile_link_color": "4A913C",
+      "profile_sidebar_border_color": "000000",
+      "profile_sidebar_fill_color": "000000",
+      "profile_text_color": "000000",
+      "profile_use_background_image": false,
+      "has_extended_profile": true,
+      "default_profile": false,
+      "default_profile_image": false,
+      "following": true,
+      "follow_request_sent": false,
+      "notifications": false
+    },
+    "geo": null,
+    "coordinates": null,
+    "place": null,
+    "contributors": null,
+    "is_quote_status": false,
+    "retweet_count": 0,
+    "favorite_count": 11,
+    "favorited": false,
+    "retweeted": false,
+    "possibly_sensitive": false,
+    "possibly_sensitive_appealable": false,
+    "lang": "en"
+  },
+  "is_quote_status": true,
+  "retweet_count": 0,
+  "favorite_count": 0,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/compatibilityplus_classic_hidden_13797.json b/tests/fixtures/tweet-updates/compatibilityplus_classic_hidden_13797.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibilityplus_classic_hidden_13797.json
@@ -0,0 +1,304 @@
+{
+  "created_at": "Mon Mar 28 14:39:13 +0000 2016",
+  "id": 714461850188926976,
+  "id_str": "714461850188926976",
+  "text": "@jeremycloud It's neat to have owls and raccoons around until you realize that raccoons will eat the eggs from the â€¦ https://t.co/OY7qmdJQnO",
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "jeremycloud",
+        "name": "/dev/cloud/jeremy",
+        "id": 15062340,
+        "id_str": "15062340",
+        "indices": [
+          0,
+          12
+        ]
+      }
+    ],
+    "urls": [
+      {
+        "url": "https://t.co/OY7qmdJQnO",
+        "expanded_url": "https://twitter.com/i/web/status/714461850188926976",
+        "display_url": "twitter.com/i/web/status/7â€¦",
+        "indices": [
+          117,
+          140
+        ]
+      }
+    ]
+  },
+  "truncated": true,
+  "extended_tweet": {
+    "full_text": "@jeremycloud It's neat to have owls and raccoons around until you realize that raccoons will eat the eggs from the owl's nest https://t.co/Q0pkaU4ORH",
+    "display_text_range": [
+      13,
+      125
+    ],
+    "entities": {
+      "hashtags": [],
+      "symbols": [],
+      "user_mentions": [
+        {
+          "screen_name": "jeremycloud",
+          "name": "/dev/cloud/jeremy",
+          "id": 15062340,
+          "id_str": "15062340",
+          "indices": [
+            0,
+            12
+          ]
+        }
+      ],
+      "urls": [
+        {
+          "url": "https://t.co/Q0pkaU4ORH",
+          "expanded_url": "https://twitter.com/jeremycloud/status/704059336788606976",
+          "display_url": "twitter.com/jeremycloud/stâ€¦",
+          "indices": [
+            126,
+            149
+          ]
+        }
+      ]
+    }
+  },
+  "source": "<a href=\"http://twitter.com\" rel=\"nofollow\">Twitter Web Client</a>",
+  "in_reply_to_status_id": 706860403981099008,
+  "in_reply_to_status_id_str": "706860403981099008",
+  "in_reply_to_user_id": 15062340,
+  "in_reply_to_user_id_str": "15062340",
+  "in_reply_to_screen_name": "jeremycloud",
+  "user": {
+    "id": 4449621923,
+    "id_str": "4449621923",
+    "name": "Mr Bones",
+    "screen_name": "MrBonesDroid",
+    "location": "",
+    "profile_location": null,
+    "description": "",
+    "url": null,
+    "entities": {
+    "description": {
+    "urls": []
+     }
+    },
+    "protected": true,
+    "followers_count": 5,
+    "friends_count": 7,
+    "listed_count": 0,
+    "created_at": "Fri Dec 11 15:18:02 +0000 2015",
+    "favourites_count": 7,
+    "utc_offset": -25200,
+    "time_zone": "Pacific Time (US & Canada)",
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 35,
+    "lang": "en-gb",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "F5F8FA",
+    "profile_background_image_url": null,
+    "profile_background_image_url_https": null,
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_link_color": "2B7BB9",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "quoted_status_id": 704059336788606976,
+  "quoted_status_id_str": "704059336788606976",
+  "quoted_status": {
+    "created_at": "Sun Feb 28 21:43:21 +0000 2016",
+    "id": 704059336788606976,
+    "id_str": "704059336788606976",
+    "text": "My favorite photographic subject, up closer than ever before. https://t.co/K958bKh9Sd",
+    "entities": {
+      "hashtags": [],
+      "symbols": [],
+      "user_mentions": [],
+      "urls": [],
+      "media": [
+        {
+          "id": 704059330149031936,
+          "id_str": "704059330149031936",
+          "indices": [
+            62,
+            85
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "url": "https://t.co/K958bKh9Sd",
+          "display_url": "pic.twitter.com/K958bKh9Sd",
+          "expanded_url": "http://twitter.com/jeremycloud/status/704059336788606976/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 600,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 871,
+              "h": 871,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 340,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "extended_entities": {
+      "media": [
+        {
+          "id": 704059330149031936,
+          "id_str": "704059330149031936",
+          "indices": [
+            62,
+            85
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "url": "https://t.co/K958bKh9Sd",
+          "display_url": "pic.twitter.com/K958bKh9Sd",
+          "expanded_url": "http://twitter.com/jeremycloud/status/704059336788606976/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 600,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 871,
+              "h": 871,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 340,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "truncated": false,
+    "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>",
+    "in_reply_to_status_id": null,
+    "in_reply_to_status_id_str": null,
+    "in_reply_to_user_id": null,
+    "in_reply_to_user_id_str": null,
+    "in_reply_to_screen_name": null,
+    "user": {
+      "id": 15062340,
+      "id_str": "15062340",
+      "name": "/dev/cloud/jeremy",
+      "screen_name": "jeremycloud",
+      "location": "Madison, Wisconsin",
+      "description": "Professional yak shaver. Amateur bike shedder.",
+      "url": "https://t.co/FcYeBkOpVY",
+      "entities": {
+        "url": {
+          "urls": [
+            {
+              "url": "https://t.co/FcYeBkOpVY",
+              "expanded_url": "http://about.me/jeremy.cloud",
+              "display_url": "about.me/jeremy.cloud",
+              "indices": [
+                0,
+                23
+              ]
+            }
+          ]
+        },
+        "description": {
+          "urls": []
+        }
+      },
+      "protected": false,
+      "followers_count": 4324,
+      "friends_count": 410,
+      "listed_count": 103,
+      "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+      "favourites_count": 815,
+      "utc_offset": -18000,
+      "time_zone": "Central Time (US & Canada)",
+      "geo_enabled": true,
+      "verified": false,
+      "statuses_count": 2218,
+      "lang": "en",
+      "contributors_enabled": false,
+      "is_translator": false,
+      "is_translation_enabled": false,
+      "profile_background_color": "000000",
+      "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_tile": false,
+      "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+      "profile_link_color": "4A913C",
+      "profile_sidebar_border_color": "000000",
+      "profile_sidebar_fill_color": "000000",
+      "profile_text_color": "000000",
+      "profile_use_background_image": false,
+      "has_extended_profile": true,
+      "default_profile": false,
+      "default_profile_image": false,
+      "following": true,
+      "follow_request_sent": false,
+      "notifications": false
+    },
+    "geo": null,
+    "coordinates": null,
+    "place": null,
+    "contributors": null,
+    "is_quote_status": false,
+    "retweet_count": 0,
+    "favorite_count": 11,
+    "favorited": false,
+    "retweeted": false,
+    "possibly_sensitive": false,
+    "possibly_sensitive_appealable": false,
+    "lang": "en"
+  },
+  "is_quote_status": true,
+  "retweet_count": 0,
+  "favorite_count": 0,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/compatibilityplus_extended_13997.json b/tests/fixtures/tweet-updates/compatibilityplus_extended_13997.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/compatibilityplus_extended_13997.json
@@ -0,0 +1,278 @@
+{
+  "created_at": "Mon Mar 28 14:39:13 +0000 2016",
+  "id": 714461850188926976,
+  "id_str": "714461850188926976",
+  "full_text": "@jeremycloud It's neat to have owls and raccoons around until you realize that raccoons will eat the eggs from the owl's nest https://t.co/Q0pkaU4ORH",
+  "display_text_range": [
+    13,
+    125
+  ],
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "jeremycloud",
+        "name": "/dev/cloud/jeremy",
+        "id": 15062340,
+        "id_str": "15062340",
+        "indices": [
+          0,
+          12
+        ]
+      }
+    ],
+    "urls": [
+      {
+        "url": "https://t.co/Q0pkaU4ORH",
+        "expanded_url": "https://twitter.com/jeremycloud/status/704059336788606976",
+        "display_url": "twitter.com/jeremycloud/stâ€¦",
+        "indices": [
+          126,
+          149
+        ]
+      }
+    ]
+  },
+  "truncated": false,
+  "source": "<a href=\"http://twitter.com\" rel=\"nofollow\">Twitter Web Client</a>",
+  "in_reply_to_status_id": 706860403981099008,
+  "in_reply_to_status_id_str": "706860403981099008",
+  "in_reply_to_user_id": 15062340,
+  "in_reply_to_user_id_str": "15062340",
+  "in_reply_to_screen_name": "jeremycloud",
+  "user": {
+    "id": 4449621923,
+    "id_str": "4449621923",
+    "name": "Mr Bones",
+    "screen_name": "MrBonesDroid",
+    "location": "",
+    "profile_location": null,
+    "description": "",
+    "url": null,
+    "entities": {
+    "description": {
+    "urls": []
+     }
+    },
+    "protected": true,
+    "followers_count": 5,
+    "friends_count": 7,
+    "listed_count": 0,
+    "created_at": "Fri Dec 11 15:18:02 +0000 2015",
+    "favourites_count": 7,
+    "utc_offset": -25200,
+    "time_zone": "Pacific Time (US & Canada)",
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 35,
+    "lang": "en-gb",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "F5F8FA",
+    "profile_background_image_url": null,
+    "profile_background_image_url_https": null,
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/677097663288860672/zZxWCPSI_normal.jpg",
+    "profile_link_color": "2B7BB9",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": true,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "quoted_status_id": 704059336788606976,
+  "quoted_status_id_str": "704059336788606976",
+  "quoted_status": {
+    "created_at": "Sun Feb 28 21:43:21 +0000 2016",
+    "id": 704059336788606976,
+    "id_str": "704059336788606976",
+    "full_text": "My favorite photographic subject, up closer than ever before. https://t.co/K958bKh9Sd",
+    "display_text_range": [
+      0,
+      85
+    ],
+    "entities": {
+      "hashtags": [],
+      "symbols": [],
+      "user_mentions": [],
+      "urls": [],
+      "media": [
+        {
+          "id": 704059330149031936,
+          "id_str": "704059330149031936",
+          "indices": [
+            62,
+            85
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "url": "https://t.co/K958bKh9Sd",
+          "display_url": "pic.twitter.com/K958bKh9Sd",
+          "expanded_url": "http://twitter.com/jeremycloud/status/704059336788606976/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 600,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 871,
+              "h": 871,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 340,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "extended_entities": {
+      "media": [
+        {
+          "id": 704059330149031936,
+          "id_str": "704059330149031936",
+          "indices": [
+            62,
+            85
+          ],
+          "media_url": "http://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "media_url_https": "https://pbs.twimg.com/media/CcVSOwJVIAAKwE6.jpg",
+          "url": "https://t.co/K958bKh9Sd",
+          "display_url": "pic.twitter.com/K958bKh9Sd",
+          "expanded_url": "http://twitter.com/jeremycloud/status/704059336788606976/photo/1",
+          "type": "photo",
+          "sizes": {
+            "medium": {
+              "w": 600,
+              "h": 600,
+              "resize": "fit"
+            },
+            "thumb": {
+              "w": 150,
+              "h": 150,
+              "resize": "crop"
+            },
+            "large": {
+              "w": 871,
+              "h": 871,
+              "resize": "fit"
+            },
+            "small": {
+              "w": 340,
+              "h": 340,
+              "resize": "fit"
+            }
+          }
+        }
+      ]
+    },
+    "truncated": false,
+    "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>",
+    "in_reply_to_status_id": null,
+    "in_reply_to_status_id_str": null,
+    "in_reply_to_user_id": null,
+    "in_reply_to_user_id_str": null,
+    "in_reply_to_screen_name": null,
+    "user": {
+      "id": 15062340,
+      "id_str": "15062340",
+      "name": "/dev/cloud/jeremy",
+      "screen_name": "jeremycloud",
+      "location": "Madison, Wisconsin",
+      "description": "Professional yak shaver. Amateur bike shedder.",
+      "url": "https://t.co/FcYeBkOpVY",
+      "entities": {
+        "url": {
+          "urls": [
+            {
+              "url": "https://t.co/FcYeBkOpVY",
+              "expanded_url": "http://about.me/jeremy.cloud",
+              "display_url": "about.me/jeremy.cloud",
+              "indices": [
+                0,
+                23
+              ]
+            }
+          ]
+        },
+        "description": {
+          "urls": []
+        }
+      },
+      "protected": false,
+      "followers_count": 4324,
+      "friends_count": 410,
+      "listed_count": 103,
+      "created_at": "Mon Jun 09 17:00:58 +0000 2008",
+      "favourites_count": 815,
+      "utc_offset": -18000,
+      "time_zone": "Central Time (US & Canada)",
+      "geo_enabled": true,
+      "verified": false,
+      "statuses_count": 2218,
+      "lang": "en",
+      "contributors_enabled": false,
+      "is_translator": false,
+      "is_translation_enabled": false,
+      "profile_background_color": "000000",
+      "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+      "profile_background_tile": false,
+      "profile_image_url": "http://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_image_url_https": "https://pbs.twimg.com/profile_images/436903139183054849/i_MbCcoW_normal.jpeg",
+      "profile_banner_url": "https://pbs.twimg.com/profile_banners/15062340/1447451621",
+      "profile_link_color": "4A913C",
+      "profile_sidebar_border_color": "000000",
+      "profile_sidebar_fill_color": "000000",
+      "profile_text_color": "000000",
+      "profile_use_background_image": false,
+      "has_extended_profile": true,
+      "default_profile": false,
+      "default_profile_image": false,
+      "following": true,
+      "follow_request_sent": false,
+      "notifications": false
+    },
+    "geo": null,
+    "coordinates": null,
+    "place": null,
+    "contributors": null,
+    "is_quote_status": false,
+    "retweet_count": 0,
+    "favorite_count": 11,
+    "favorited": false,
+    "retweeted": false,
+    "possibly_sensitive": false,
+    "possibly_sensitive_appealable": false,
+    "lang": "en"
+  },
+  "is_quote_status": true,
+  "retweet_count": 0,
+  "favorite_count": 0,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/extended_classic_14002.json b/tests/fixtures/tweet-updates/extended_classic_14002.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/extended_classic_14002.json
@@ -0,0 +1,87 @@
+{
+  "created_at": "Thu Jun 16 15:57:14 +0000 2016",
+  "id": 743472511740870657,
+  "id_str": "743472511740870657",
+  "full_text": "Just setting up my Twitter. #myfirstTweet",
+  "truncated": false,
+  "display_text_range": [
+    0,
+    41
+  ],
+  "entities": {
+    "hashtags": [
+      {
+        "text": "myfirstTweet",
+        "indices": [
+          28,
+          41
+        ]
+      }
+    ],
+    "symbols": [],
+    "user_mentions": [],
+    "urls": []
+  },
+  "source": "&lt;a href=\"http://twitter.com\" rel=\"nofollow\"&gt;Twitter Web Client&lt;/a&gt;",
+  "in_reply_to_status_id": null,
+  "in_reply_to_status_id_str": null,
+  "in_reply_to_user_id": null,
+  "in_reply_to_user_id_str": null,
+  "in_reply_to_screen_name": null,
+  "user": {
+    "id": 3883872981,
+    "id_str": "3883872981",
+    "name": "Beyond 140",
+    "screen_name": "beyond_oneforty",
+    "location": "",
+    "description": "",
+    "url": null,
+    "entities": {
+      "description": {
+        "urls": []
+      }
+    },
+    "protected": true,
+    "followers_count": 51,
+    "friends_count": 0,
+    "listed_count": 0,
+    "created_at": "Tue Oct 06 21:08:37 +0000 2015",
+    "favourites_count": 1,
+    "utc_offset": null,
+    "time_zone": null,
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 9,
+    "lang": "en",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "C0DEED",
+    "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/651506565225271296/PMEWfvS__normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/651506565225271296/PMEWfvS__normal.jpg",
+    "profile_link_color": "0084B4",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": false,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "is_quote_status": false,
+  "retweet_count": 0,
+  "favorite_count": 1,
+  "favorited": false,
+  "retweeted": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/extended_classic_hidden_13761.json b/tests/fixtures/tweet-updates/extended_classic_hidden_13761.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/extended_classic_hidden_13761.json
@@ -0,0 +1,183 @@
+{
+  "created_at": "Thu Jun 16 16:24:44 +0000 2016",
+  "id": 743479431658758145,
+  "id_str": "743479431658758145",
+  "full_text": "@TwitterDev I'm really excited for this change! https://t.co/VnJMDg3cbS",
+  "truncated": false,
+  "display_text_range": [
+    12,
+    47
+  ],
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "TwitterDev",
+        "name": "TwitterDev",
+        "id": 2244994945,
+        "id_str": "2244994945",
+        "indices": [
+          0,
+          11
+        ]
+      }
+    ],
+    "urls": [],
+    "media": [
+      {
+        "id": 743479379079004160,
+        "id_str": "743479379079004160",
+        "indices": [
+          48,
+          71
+        ],
+        "media_url": "http://pbs.twimg.com/tweet_video_thumb/ClFejl_VAAAo9Xk.jpg",
+        "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/ClFejl_VAAAo9Xk.jpg",
+        "url": "https://t.co/VnJMDg3cbS",
+        "display_url": "pic.twitter.com/VnJMDg3cbS",
+        "expanded_url": "http://twitter.com/beyond_oneforty/status/743479431658758145/photo/1",
+        "type": "photo",
+        "sizes": {
+          "medium": {
+            "w": 480,
+            "h": 268,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 480,
+            "h": 268,
+            "resize": "fit"
+          },
+          "small": {
+            "w": 340,
+            "h": 190,
+            "resize": "fit"
+          }
+        }
+      }
+    ]
+  },
+  "extended_entities": {
+    "media": [
+      {
+        "id": 743479379079004160,
+        "id_str": "743479379079004160",
+        "indices": [
+          48,
+          71
+        ],
+        "media_url": "http://pbs.twimg.com/tweet_video_thumb/ClFejl_VAAAo9Xk.jpg",
+        "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/ClFejl_VAAAo9Xk.jpg",
+        "url": "https://t.co/VnJMDg3cbS",
+        "display_url": "pic.twitter.com/VnJMDg3cbS",
+        "expanded_url": "http://twitter.com/beyond_oneforty/status/743479431658758145/photo/1",
+        "type": "animated_gif",
+        "sizes": {
+          "medium": {
+            "w": 480,
+            "h": 268,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 480,
+            "h": 268,
+            "resize": "fit"
+          },
+          "small": {
+            "w": 340,
+            "h": 190,
+            "resize": "fit"
+          }
+        },
+        "video_info": {
+          "aspect_ratio": [
+            120,
+            67
+          ],
+          "variants": [
+            {
+              "bitrate": 0,
+              "content_type": "video/mp4",
+              "url": "https://pbs.twimg.com/tweet_video/ClFejl_VAAAo9Xk.mp4"
+            }
+          ]
+        }
+      }
+    ]
+  },
+  "source": "&lt;a href=\"http://twitter.com\" rel=\"nofollow\"&gt;Twitter Web Client&lt;/a&gt;",
+  "in_reply_to_status_id": 735111578660438017,
+  "in_reply_to_status_id_str": "735111578660438017",
+  "in_reply_to_user_id": 2244994945,
+  "in_reply_to_user_id_str": "2244994945",
+  "in_reply_to_screen_name": "TwitterDev",
+  "user": {
+    "id": 3883872981,
+    "id_str": "3883872981",
+    "name": "Beyond 140",
+    "screen_name": "beyond_oneforty",
+    "location": "",
+    "description": "",
+    "url": null,
+    "entities": {
+      "description": {
+        "urls": []
+      }
+    },
+    "protected": true,
+    "followers_count": 51,
+    "friends_count": 0,
+    "listed_count": 0,
+    "created_at": "Tue Oct 06 21:08:37 +0000 2015",
+    "favourites_count": 1,
+    "utc_offset": null,
+    "time_zone": null,
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 10,
+    "lang": "en",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "C0DEED",
+    "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/651506565225271296/PMEWfvS__normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/651506565225271296/PMEWfvS__normal.jpg",
+    "profile_link_color": "0084B4",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": false,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "is_quote_status": false,
+  "retweet_count": 0,
+  "favorite_count": 1,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/fixtures/tweet-updates/extended_extended_14001.json b/tests/fixtures/tweet-updates/extended_extended_14001.json
new file mode 100644
--- /dev/null
+++ b/tests/fixtures/tweet-updates/extended_extended_14001.json
@@ -0,0 +1,213 @@
+{
+  "created_at": "Thu Jun 16 17:33:23 +0000 2016",
+  "id": 743496707711733760,
+  "id_str": "743496707711733760",
+  "full_text": "@twitter @twitterdev has more details about these changes at https://t.co/ZnXoRQy8mK.  Thanks for making @twitter more expressive! https://t.co/AWmiH870F7",
+  "truncated": false,
+  "display_text_range": [
+    9,
+    130
+  ],
+  "entities": {
+    "hashtags": [],
+    "symbols": [],
+    "user_mentions": [
+      {
+        "screen_name": "twitter",
+        "name": "Twitter",
+        "id": 783214,
+        "id_str": "783214",
+        "indices": [
+          0,
+          8
+        ]
+      },
+      {
+        "screen_name": "TwitterDev",
+        "name": "TwitterDev",
+        "id": 2244994945,
+        "id_str": "2244994945",
+        "indices": [
+          9,
+          20
+        ]
+      },
+      {
+        "screen_name": "twitter",
+        "name": "Twitter",
+        "id": 783214,
+        "id_str": "783214",
+        "indices": [
+          105,
+          113
+        ]
+      }
+    ],
+    "urls": [
+      {
+        "url": "https://t.co/ZnXoRQy8mK",
+        "expanded_url": "https://blog.twitter.com/2016/doing-more-with-140-characters",
+        "display_url": "blog.twitter.com/2016/doing-mor…",
+        "indices": [
+          61,
+          84
+        ]
+      }
+    ],
+    "media": [
+      {
+        "id": 743495942192566272,
+        "id_str": "743495942192566272",
+        "indices": [
+          131,
+          154
+        ],
+        "media_url": "http://pbs.twimg.com/tweet_video_thumb/ClFtnsZVEAAE4oA.jpg",
+        "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/ClFtnsZVEAAE4oA.jpg",
+        "url": "https://t.co/AWmiH870F7",
+        "display_url": "pic.twitter.com/AWmiH870F7",
+        "expanded_url": "http://twitter.com/beyond_oneforty/status/743496707711733760/photo/1",
+        "type": "photo",
+        "sizes": {
+          "small": {
+            "w": 340,
+            "h": 255,
+            "resize": "fit"
+          },
+          "medium": {
+            "w": 480,
+            "h": 360,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 480,
+            "h": 360,
+            "resize": "fit"
+          }
+        }
+      }
+    ]
+  },
+  "extended_entities": {
+    "media": [
+      {
+        "id": 743495942192566272,
+        "id_str": "743495942192566272",
+        "indices": [
+          131,
+          154
+        ],
+        "media_url": "http://pbs.twimg.com/tweet_video_thumb/ClFtnsZVEAAE4oA.jpg",
+        "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/ClFtnsZVEAAE4oA.jpg",
+        "url": "https://t.co/AWmiH870F7",
+        "display_url": "pic.twitter.com/AWmiH870F7",
+        "expanded_url": "http://twitter.com/beyond_oneforty/status/743496707711733760/photo/1",
+        "type": "animated_gif",
+        "sizes": {
+          "small": {
+            "w": 340,
+            "h": 255,
+            "resize": "fit"
+          },
+          "medium": {
+            "w": 480,
+            "h": 360,
+            "resize": "fit"
+          },
+          "thumb": {
+            "w": 150,
+            "h": 150,
+            "resize": "crop"
+          },
+          "large": {
+            "w": 480,
+            "h": 360,
+            "resize": "fit"
+          }
+        },
+        "video_info": {
+          "aspect_ratio": [
+            4,
+            3
+          ],
+          "variants": [
+            {
+              "bitrate": 0,
+              "content_type": "video/mp4",
+              "url": "https://pbs.twimg.com/tweet_video/ClFtnsZVEAAE4oA.mp4"
+            }
+          ]
+        }
+      }
+    ]
+  },
+  "source": "&lt;a href=\"http://twitter.com\" rel=\"nofollow\"&gt;Twitter Web Client&lt;/a&gt;",
+  "in_reply_to_status_id": 735108260718469121,
+  "in_reply_to_status_id_str": "735108260718469121",
+  "in_reply_to_user_id": 783214,
+  "in_reply_to_user_id_str": "783214",
+  "in_reply_to_screen_name": "twitter",
+  "user": {
+    "id": 3883872981,
+    "id_str": "3883872981",
+    "name": "Beyond 140",
+    "screen_name": "beyond_oneforty",
+    "location": "",
+    "description": "",
+    "url": null,
+    "entities": {
+      "description": {
+        "urls": []
+      }
+    },
+    "protected": true,
+    "followers_count": 51,
+    "friends_count": 2,
+    "listed_count": 0,
+    "created_at": "Tue Oct 06 21:08:37 +0000 2015",
+    "favourites_count": 1,
+    "utc_offset": null,
+    "time_zone": null,
+    "geo_enabled": false,
+    "verified": false,
+    "statuses_count": 11,
+    "lang": "en",
+    "contributors_enabled": false,
+    "is_translator": false,
+    "is_translation_enabled": false,
+    "profile_background_color": "C0DEED",
+    "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
+    "profile_background_tile": false,
+    "profile_image_url": "http://pbs.twimg.com/profile_images/743489433861685249/VOcKbH8Z_normal.jpg",
+    "profile_image_url_https": "https://pbs.twimg.com/profile_images/743489433861685249/VOcKbH8Z_normal.jpg",
+    "profile_link_color": "0084B4",
+    "profile_sidebar_border_color": "C0DEED",
+    "profile_sidebar_fill_color": "DDEEF6",
+    "profile_text_color": "333333",
+    "profile_use_background_image": true,
+    "has_extended_profile": false,
+    "default_profile": true,
+    "default_profile_image": false,
+    "following": false,
+    "follow_request_sent": false,
+    "notifications": false
+  },
+  "geo": null,
+  "coordinates": null,
+  "place": null,
+  "contributors": null,
+  "is_quote_status": false,
+  "retweet_count": 0,
+  "favorite_count": 0,
+  "favorited": false,
+  "retweeted": false,
+  "possibly_sensitive": false,
+  "possibly_sensitive_appealable": false,
+  "lang": "en"
+}
diff --git a/tests/spec_main.hs b/tests/spec_main.hs
--- a/tests/spec_main.hs
+++ b/tests/spec_main.hs
@@ -1,14 +1,15 @@
 module Main where
 
+import qualified PropFromToJSONTest
+import qualified StatusTest
 import Test.Tasty
 import qualified TypesTest
-import qualified PropFromToJSONTest
 
 tests :: TestTree
 tests =
     testGroup
         "Tests"
-        [ testGroup "Unit Test" [TypesTest.tests]
+        [ testGroup "Unit Test" [TypesTest.tests, StatusTest.tests]
         , testGroup "Property Test" [PropFromToJSONTest.tests]
         ]
 
diff --git a/twitter-types.cabal b/twitter-types.cabal
--- a/twitter-types.cabal
+++ b/twitter-types.cabal
@@ -1,5 +1,5 @@
 name:              twitter-types
-version:           0.9.0
+version:           0.10.0
 license:           BSD3
 license-file:      LICENSE
 author:            Takahiro HIMURA
@@ -17,6 +17,7 @@
 extra-source-files:
   README.md
   tests/fixtures/*.json
+  tests/fixtures/tweet-updates/*.json
 
 source-repository head
   type: git
@@ -61,6 +62,7 @@
     Fixtures
     Instances
     PropFromToJSONTest
+    StatusTest
     TypesTest
 
   ghc-options:       -Wall
