diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+v0.3.2
+
+  * New functions: `dropN`, `anyWord8`, `word8`.
+ 
 v0.3.1.2
 
   * Push bounds for the container package
diff --git a/fastparser.cabal b/fastparser.cabal
--- a/fastparser.cabal
+++ b/fastparser.cabal
@@ -1,5 +1,5 @@
 name:                fastparser
-version:             0.3.1.2
+version:             0.3.2
 synopsis:            A fast, but bare bones, bytestring parser combinators library.
 description:         Please see README.md
 homepage:            https://github.com/bartavelle/fastparser#readme
diff --git a/src/ByteString/Parser/Fast.hs b/src/ByteString/Parser/Fast.hs
--- a/src/ByteString/Parser/Fast.hs
+++ b/src/ByteString/Parser/Fast.hs
@@ -1,17 +1,17 @@
 -- | A fast parser combinators module.
--- 
+--
 -- This module is extremely bare-bones, and provides only very limited
 -- functionality.
 --
 -- Sample usage:
--- 
+--
 -- > module Syslog where
--- > 
+-- >
 -- > import ByteString.Parser.Fast
 -- > import qualified Data.ByteString as BS
 -- > import Data.Thyme.Clock
 -- > import Control.Applicative
--- > 
+-- >
 -- > data SyslogMsg
 -- >     = SyslogMsg
 -- >     { _syslogPrio    :: {-# UNPACK #-} !Int
@@ -21,8 +21,8 @@
 -- >     , _syslogPID     :: !(Maybe Int)
 -- >     , _syslogData    :: !BS.ByteString
 -- >     } deriving (Show, Eq)
--- > 
--- > 
+-- >
+-- >
 -- > syslogMsg :: Parser SyslogMsg
 -- > syslogMsg = do
 -- >     char '<'
@@ -37,15 +37,15 @@
 -- >     char ':'
 -- >     dt <- remaining
 -- >     return (SyslogMsg prio ts host program pid' dt)
--- > 
+-- >
 -- > test :: BS.ByteString -> Either ParseError SyslogMsg
 -- > test = parseOnly syslogMsg
 --
+{-# LANGUAGE BangPatterns               #-}
+{-# LANGUAGE DeriveFunctor              #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
-{-# LANGUAGE BangPatterns #-}
-{-# LANGUAGE DeriveFunctor #-}
-{-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings          #-}
+{-# LANGUAGE RankNTypes                 #-}
 module ByteString.Parser.Fast
   (
   Parser, ParserM(..), parseOnly,
@@ -54,9 +54,9 @@
   -- * Parsing numerical values
   decimal, num, hnum, onum, frac, scientific,
   -- * Parsing characters
-  satisfy, anyChar, char, string, quotedString,
+  satisfy, anyChar, char, anyWord8, word8, string, quotedString,
   -- * Various combinators
-  takeN, remaining, charTakeWhile, charTakeWhile1, ByteString.Parser.Fast.takeWhile, takeWhile1, skipWhile,
+  takeN, dropN, remaining, charTakeWhile, charTakeWhile1, ByteString.Parser.Fast.takeWhile, takeWhile1, skipWhile,
   -- * Parsing time-related values
   parseYMD, parseDTime, timestamp, rfc3339,
   -- * Interfacing with other libraries
@@ -65,22 +65,22 @@
   isLower, getOctal, getInt
   ) where
 
-import qualified Data.ByteString as BS
-import qualified Data.ByteString.Char8 as BS8
-import Data.Set (Set)
-import qualified Data.Set as S
-import Data.AffineSpace ((.-^), (.+^))
-import Control.Applicative
-import Control.Monad
-import Data.Word
-import Data.Thyme
-import Data.Thyme.Time.Core
-import Lens.Micro
-import Data.Semigroup
+import           Control.Applicative
+import           Control.Monad
+import           Control.Monad.Codensity        (Codensity, lowerCodensity)
+import           Control.Monad.Trans.Class      (lift)
+import           Data.AffineSpace               ((.+^), (.-^))
+import qualified Data.ByteString                as BS
+import qualified Data.ByteString.Char8          as BS8
 import qualified Data.ByteString.Lex.Fractional as L
-import Control.Monad.Codensity (Codensity, lowerCodensity)
-import Control.Monad.Trans.Class (lift)
-import Prelude
+import           Data.Semigroup
+import           Data.Set                       (Set)
+import qualified Data.Set                       as S
+import           Data.Thyme
+import           Data.Thyme.Time.Core
+import           Data.Word
+import           Lens.Micro
+import           Prelude
 
 -- | A parser, church encoded. The arguments to the wrapped function are:
 --
@@ -163,7 +163,7 @@
 -- [bytestring-lexing](https://hackage.haskell.org/package/bytestring-lexing) library.
 wlex :: (BS.ByteString -> Maybe (a, BS.ByteString)) -> Parser a
 wlex p = lift $ Parser $ \i failure success -> case p i of
-                                            Nothing -> failure mempty
+                                            Nothing      -> failure mempty
                                             Just (a, i') -> success i' a
 {-# INLINABLE wlex #-}
 
@@ -237,15 +237,33 @@
          else let (a,rest) = BS.splitAt n input
               in  success rest a
 
+-- | Drops n bytes of input
+dropN :: Int -> Parser ()
+dropN n = lift $ Parser $ \input failure success
+    -> if BS.length input < n
+         then failure ueof
+         else success (BS.drop n input) ()
+
 -- | Parses any character.
 anyChar :: Parser Char
 anyChar = lift $ Parser $ \input failure success -> if BS.null input then failure ueof else success (BS8.tail input) (BS8.head input)
+{-# INLINE anyChar #-}
 
 -- | Parses a specific character.
 char :: Char -> Parser ()
 char c = lift $ Parser $ \input failure success -> if BS.null input then failure ueof else if BS8.head input == c then success (BS.tail input) () else failure (parseError (BS8.take 1 input) (BS8.singleton c))
 {-# INLINE char #-}
 
+-- | Parses any byte.
+anyWord8 :: Parser Char
+anyWord8 = lift $ Parser $ \input failure success -> if BS.null input then failure ueof else success (BS8.tail input) (BS8.head input)
+{-# INLINE anyWord8 #-}
+
+-- | Parses a specific byte.
+word8 :: Word8 -> Parser ()
+word8 c = lift $ Parser $ \input failure success -> if BS.null input then failure ueof else if BS.head input == c then success (BS.tail input) () else failure (parseError (BS.take 1 input) (BS.singleton c))
+{-# INLINE word8 #-}
+
 -- | Parses a character satisfying a predicate
 satisfy :: (Char -> Bool) -> Parser Char
 satisfy p = lift $ Parser $ \input failure success ->
@@ -365,8 +383,8 @@
     !tz <- takeWhile1 isUpper
     return $! case tz of
                   "CEST" -> tm .-^ fromSeconds (7200 :: Int)
-                  "CET" -> tm .-^ fromSeconds (3600 :: Int)
-                  _ -> tm
+                  "CET"  -> tm .-^ fromSeconds (3600 :: Int)
+                  _      -> tm
 
 -- | Parses RFC3339 compatible timestamps to UTCTime.
 rfc3339 :: Parser UTCTime
@@ -386,7 +404,7 @@
         'Z' -> return tm
         '+' -> suboffset <$> getOffset
         '-' -> addoffset <$> getOffset
-        _ -> empty
+        _   -> empty
 
 -- | Turns any parser into a 'SimpleFold'.
 pFold :: Parser a -> SimpleFold BS.ByteString a
