diff --git a/Data/ASN1/Parse.hs b/Data/ASN1/Parse.hs
index eeea2be..83bc80e 100644
--- a/Data/ASN1/Parse.hs
+++ b/Data/ASN1/Parse.hs
@@ -24 +24 @@ import Control.Monad.Error
-import Control.Applicative ((<$>))
+import Control.Applicative ((<$>), Applicative)
@@ -25,7 +25,7 @@ import Control.Applicative ((<$>))
 
 -- | Parse ASN1 Monad
 newtype ParseASN1 a = P { runP :: ErrorT String (State [ASN1]) a }
-        deriving (Functor, Monad, MonadError String)
+        deriving (Functor, Applicative, Monad, MonadError String)
 
 -- | run the parse monad over a stream and returns the result and the remaining ASN1 Stream.
 runParseASN1State :: ParseASN1 a -> [ASN1] -> Either String (a,[ASN1])
