diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,30 @@
+Copyright David Bouchare (c) 2018
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Author name here nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,34 @@
+# stocks  
+
+Haskell library for the IEX trading API.  
+
+Example:  
+
+```haskell
+{-# LANGUAGE RecordWildCards #-}
+
+import Net.Stocks
+
+comp :: String
+comp = "AAPL"
+
+main :: IO ()
+main = do
+    resp <- getData comp QueryStocks
+    case resp of
+        Nothing -> putStrLn "No data for that company"
+        Just (Stock{..}) -> do
+            putStrLn $ "Stock value: " ++ show latestPrice
+```
+
+Which should show:  
+
+```
+Stock value: <the_actual_stock_value>
+```
+
+### Attribution  
+If you redistribute our API data:
+
+* Cite IEX using the following text and link: “Data provided for free by [IEX](https://iextrading.com/developer).”  
+* Provide a link to https://iextrading.com/api-exhibit-a in your terms of service.
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/src/Net/Stocks.hs b/src/Net/Stocks.hs
new file mode 100644
--- /dev/null
+++ b/src/Net/Stocks.hs
@@ -0,0 +1,106 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Net.Stocks
+        ( Stock(..)
+        , Financials(..)
+        , FinancialsList(..)
+        , QueryType(..)
+        , Company
+        , stocksQuery
+        , financialsQuery
+        , peersQuery
+        , priceQuery
+        , getData
+        , getNonJSONData
+        ) where
+  
+import Control.Monad
+import Control.Applicative
+import Data.Char
+import Data.Aeson
+import Data.List.NonEmpty
+import Data.ByteString.Lazy.Char8
+import Network.HTTP.Conduit
+
+-- | Stock data
+data Stock =
+    Stock { company          :: String  -- ^ The company's name
+          , latestPrice      :: Float   -- ^ Latest stock price
+          , latestTime       :: String  -- ^ Timeframe
+          , changePercent    :: Float   -- ^ Percentage change
+          } deriving (Show)
+
+instance FromJSON Stock where
+    parseJSON = withObject "Stock" $ \v -> Stock
+        <$> v .: "companyName"
+        <*> v .: "latestPrice"
+        <*> v .: "latestTime"
+        <*> v .: "changePercent"
+
+newtype FinancialsList = FinancialsList { financialsList :: NonEmpty Financials}
+
+instance FromJSON FinancialsList where
+    parseJSON = withObject "FinancialsList" $ \v -> FinancialsList 
+        <$> v .: "financials"
+
+-- | Financials data
+data Financials = 
+    Financials { reportDate       :: String  -- ^ The report's date
+               , grossProfit      :: Int     -- ^ Gross Profit
+               , costOfRevenue    :: Int     -- ^ Cost of revenue
+               , cashFlow         :: Int     -- ^ Cash flow
+               } deriving (Show)
+
+instance FromJSON Financials where
+    parseJSON = withObject "Financials" $ \v -> Financials
+        <$> v .: "reportDate"
+        <*> v .: "grossProfit"
+        <*> v .: "costOfRevenue"
+        <*> v .: "cashFlow"
+
+type Company = String
+
+lowerString :: Company -> String
+lowerString str = Prelude.map toLower str
+
+baseURL :: String
+baseURL = "https://api.iextrading.com/1.0/stock/"
+
+data QueryType = QueryStocks
+               | QueryFinancials
+               | QueryPeers
+               | QueryPrice
+
+-- builds the URL: /stock/{symbol}/quote
+stocksQuery :: Company -> String
+stocksQuery company = baseURL ++ lowerString company ++ "/quote"
+
+-- builds the URL: /stock/{symbol}/financials
+financialsQuery :: Company -> String
+financialsQuery company = baseURL ++ lowerString company ++ "/financials"
+
+-- builds the URL: /stock/{symbol}/peers
+peersQuery :: Company -> String
+peersQuery company = baseURL ++ lowerString company ++ "/peers"
+
+-- builds the URL: /stock/{symbol}/price
+priceQuery :: Company -> String
+priceQuery company = baseURL ++ lowerString company ++ "/price"
+
+-- get JSON data 
+getData :: (FromJSON a) => String -> QueryType -> IO (Maybe a)
+getData company qt = do
+    obj <- simpleHttp (query qt company)
+    return $ decode obj
+  where
+    query QueryStocks     = stocksQuery
+    query QueryFinancials = financialsQuery
+
+-- Get non JSON data
+getNonJSONData :: String -> QueryType -> IO ByteString
+getNonJSONData company qt = do
+    obj <- simpleHttp (query qt company)
+    return obj
+  where
+    query QueryPeers = peersQuery
+    query QueryPrice = priceQuery
diff --git a/stocks.cabal b/stocks.cabal
new file mode 100644
--- /dev/null
+++ b/stocks.cabal
@@ -0,0 +1,30 @@
+name:                stocks
+version:             0.1.0.0
+synopsis:            Library for the IEX Trading API
+description:         Simple library for interacting with the IEX Trading API
+homepage:            https://github.com/dabcoder/stocks#readme
+license:             BSD3
+license-file:        LICENSE
+author:              David Bouchare
+maintainer:          David Bouchare
+copyright:           2018 David Bouchare
+category:            Net
+build-type:          Simple
+cabal-version:       >=1.10
+extra-source-files:  README.md
+  
+library
+  exposed-modules:     Net.Stocks
+  -- other-modules:
+  -- other-extensions:
+  build-depends: base == 4.*
+               , http-conduit
+               , aeson >= 0.8.0
+               , bytestring
+               , semigroups >= 0.18
+  hs-source-dirs:      src
+  default-language:    Haskell2010
+
+source-repository head
+  type:     git
+  location: https://github.com/dabcoder/stocks.git
