diff --git a/mandrill.cabal b/mandrill.cabal
--- a/mandrill.cabal
+++ b/mandrill.cabal
@@ -1,5 +1,5 @@
 name:                mandrill
-version:             0.2.2.1
+version:             0.3.0.0
 synopsis:            Library for interfacing with the Mandrill JSON API
 description:         Pure Haskell client for the Mandrill JSON API
 license:             MIT
@@ -28,7 +28,6 @@
   other-modules:
     Network.API.Mandrill.Utils
     Network.API.Mandrill.HTTP
-    Network.API.Mandrill.Orphans
   -- other-extensions:
   build-depends:
       base >=4.6 && < 5
@@ -51,6 +50,7 @@
     src
   default-language:
     Haskell2010
+
   ghc-options:
     -funbox-strict-fields
 
diff --git a/src/Network/API/Mandrill.hs b/src/Network/API/Mandrill.hs
--- a/src/Network/API/Mandrill.hs
+++ b/src/Network/API/Mandrill.hs
@@ -9,6 +9,7 @@
 module Network.API.Mandrill (
     module M
   , sendEmail
+  , sendTextEmail
   , emptyMessage
   , newTextMessage
   , newHtmlMessage
@@ -62,7 +63,7 @@
    _mmsg_html = mempty
  , _mmsg_text = Nothing
  , _mmsg_subject = T.empty
- , _mmsg_from_email = f
+ , _mmsg_from_email = (MandrillEmail f)
  , _mmsg_from_name = Nothing
  , _mmsg_to = map newRecipient t
  , _mmsg_headers = JSON.Null
diff --git a/src/Network/API/Mandrill/Orphans.hs b/src/Network/API/Mandrill/Orphans.hs
deleted file mode 100644
--- a/src/Network/API/Mandrill/Orphans.hs
+++ /dev/null
@@ -1,17 +0,0 @@
-
-module Network.API.Mandrill.Orphans where
-
-import Data.Aeson
-import Data.Aeson.Types
-import Text.Email.Validate
-import qualified Data.Text.Encoding as TE
-
-
-instance ToJSON EmailAddress where
-  toJSON = String . TE.decodeUtf8 . toByteString
-
-instance FromJSON EmailAddress where
-  parseJSON (String s) = case validate (TE.encodeUtf8 s) of
-    Left err -> fail err
-    Right v  -> return v
-  parseJSON o = typeMismatch "Expecting a String for EmailAddress." o
diff --git a/src/Network/API/Mandrill/Types.hs b/src/Network/API/Mandrill/Types.hs
--- a/src/Network/API/Mandrill/Types.hs
+++ b/src/Network/API/Mandrill/Types.hs
@@ -6,14 +6,12 @@
 module Network.API.Mandrill.Types where
 
 import           Network.API.Mandrill.Utils
-import           Network.API.Mandrill.Orphans()
 import           Test.QuickCheck
 import           Text.Email.Validate
 import           Data.Char
 import           Data.Maybe
 import           Data.Time
 import           Control.Applicative
-import           Data.Time (ParseTime)
 #if MIN_VERSION_time(1,5,0)
 import Data.Time.Format (TimeLocale, defaultTimeLocale)
 #else
@@ -102,9 +100,22 @@
 
 
 --------------------------------------------------------------------------------
+newtype MandrillEmail = MandrillEmail EmailAddress deriving Show
+
+instance ToJSON MandrillEmail where
+  toJSON (MandrillEmail e) = String . TL.decodeUtf8 . toByteString $ e
+
+instance FromJSON MandrillEmail where
+  parseJSON (String s) = case validate (TL.encodeUtf8 s) of
+    Left err -> fail err
+    Right v  -> return . MandrillEmail $ v
+  parseJSON o = typeMismatch "Expecting a String for MandrillEmail." o
+
+
+--------------------------------------------------------------------------------
 -- | An array of recipient information.
 data MandrillRecipient = MandrillRecipient {
-    _mrec_email :: EmailAddress
+    _mrec_email :: MandrillEmail
     -- ^ The email address of the recipient
   , _mrec_name :: Maybe T.Text
     -- ^ The optional display name to use for the recipient
@@ -117,11 +128,11 @@
 deriveJSON defaultOptions { fieldLabelModifier = drop 6 } ''MandrillRecipient
 
 newRecipient :: EmailAddress -> MandrillRecipient
-newRecipient email = MandrillRecipient email Nothing Nothing
+newRecipient email = MandrillRecipient (MandrillEmail email) Nothing Nothing
 
 instance Arbitrary MandrillRecipient where
   arbitrary = pure MandrillRecipient {
-      _mrec_email = fromJust (emailAddress "test@example.com")
+      _mrec_email = MandrillEmail $ fromJust (emailAddress "test@example.com")
     , _mrec_name  =  Nothing
     , _mrec_type  =  Nothing
     }
@@ -218,7 +229,7 @@
    -- ^ Optional full text content to be sent
  , _mmsg_subject :: !T.Text
    -- ^ The message subject
- , _mmsg_from_email :: EmailAddress
+ , _mmsg_from_email :: MandrillEmail
    -- ^ The sender email address
  , _mmsg_from_name :: Maybe T.Text
    -- ^ Optional from name to be used
@@ -301,7 +312,7 @@
   arbitrary = MandrillMessage <$> arbitrary
                               <*> pure Nothing
                               <*> pure "Test Subject"
-                              <*> pure (fromJust $ emailAddress "sender@example.com")
+                              <*> pure (MandrillEmail . fromJust $ emailAddress "sender@example.com")
                               <*> pure Nothing
                               <*> resize 2 arbitrary
                               <*> pure emptyObject
