diff --git a/octohat.cabal b/octohat.cabal
--- a/octohat.cabal
+++ b/octohat.cabal
@@ -1,6 +1,6 @@
 Name:                octohat
 Synopsis:            A tested, minimal wrapper around GitHub's API.
-Version:             0.1.1
+Version:             0.1.2
 License:             MIT
 Author:              Stack Builders
 Maintainer:          hackage@stackbuilders.com
diff --git a/spec/Network/Octohat/TestData.hs b/spec/Network/Octohat/TestData.hs
--- a/spec/Network/Octohat/TestData.hs
+++ b/spec/Network/Octohat/TestData.hs
@@ -50,7 +50,7 @@
 loadTestOrganizationName = organization `fmap` loadEnv
 
 loadOwnerTeam :: GitHub Team
-loadOwnerTeam = liftIO (organization `fmap` loadEnv) >>= flip teamForTeamNameInOrg "Owners"
+loadOwnerTeam = liftIO (OrganizationName `fmap` (organization `fmap` loadEnv)) >>= flip teamForTeamNameInOrg (TeamName "Owners")
 
 loadTestAccountOne :: GitHub Member
 loadTestAccountOne = liftIO (accountOne `fmap` loadEnv) >>= userForUsername
diff --git a/spec/Network/Octohat/TestUtil.hs b/spec/Network/Octohat/TestUtil.hs
--- a/spec/Network/Octohat/TestUtil.hs
+++ b/spec/Network/Octohat/TestUtil.hs
@@ -17,7 +17,7 @@
 deleteAllTeams :: GitHub [DidDelete]
 deleteAllTeams = do
   testOrganization <- liftIO loadTestOrganizationName
-  allTeams <- teamsForOrganization testOrganization
+  allTeams <- teamsForOrganization (OrganizationName testOrganization)
   let teamsToDelete = map teamId $ filter (\t -> teamName t /= "Owners") allTeams
   mapM deleteTeamFromOrganization teamsToDelete
 
diff --git a/src/Network/Octohat.hs b/src/Network/Octohat.hs
--- a/src/Network/Octohat.hs
+++ b/src/Network/Octohat.hs
@@ -16,21 +16,21 @@
 
 
 -- | Gets all the members of the organization
-membersOfTeamInOrganization :: T.Text -- ^ GitHub organization name
-                            -> T.Text -- ^ GitHub team name
+membersOfTeamInOrganization :: OrganizationName -- ^ GitHub organization name
+                            -> TeamName         -- ^ GitHub team name
                             -> GitHub [Member]
 membersOfTeamInOrganization nameOfOrg nameOfTeam = teamId `liftM` teamForTeamNameInOrg nameOfOrg nameOfTeam >>= membersForTeam
 
 -- | Adds a user with @nameOfUser@ to the team named @nameOfTeam@ within the organization named `nameOfOrg`
 addUserToTeam :: T.Text -- ^ GitHub username
-              -> T.Text -- ^ GitHub organization name
-              -> T.Text -- ^ GitHub team name
+              -> OrganizationName -- ^ GitHub organization name
+              -> TeamName         -- ^ GitHub team name
               -> GitHub StatusInTeam
 addUserToTeam nameOfUser nameOfOrg nameOfTeam = teamId `liftM` teamForTeamNameInOrg nameOfOrg nameOfTeam >>= addMemberToTeam nameOfUser
 
 -- | Retrieves a list of members in a given team within an organization together with their public keys
-keysOfTeamInOrganization :: T.Text -- ^ GitHub organization name
-                         -> T.Text -- ^ GitHub team name
+keysOfTeamInOrganization :: OrganizationName -- ^ GitHub organization name
+                         -> TeamName         -- ^ GitHub team name
                          -> GitHub [MemberWithKey]
 keysOfTeamInOrganization nameOfOrg nameOfTeam = do
   members <- membersOfTeamInOrganization nameOfOrg nameOfTeam
@@ -38,12 +38,12 @@
   let memberFingerprints = publicKeySetToFingerprints pubKeys
   return $ makeMembersWithKey members pubKeys memberFingerprints
 
-teamForTeamNameInOrg :: T.Text -- ^ Organization name
-                     -> T.Text -- ^ Team name
+teamForTeamNameInOrg :: OrganizationName -- ^ Organization name
+                     -> TeamName         -- ^ Team name
                      -> GitHub Team
 teamForTeamNameInOrg nameOfOrg nameOfTeam = do
   teams <- teamsForOrganization nameOfOrg
-  tryHead NotFound (teamsWithName nameOfTeam teams)
+  tryHead NotFound (teamsWithName (unTeamName nameOfTeam) teams)
 
 teamsWithName :: T.Text -> [Team] -> [Team]
 teamsWithName nameOfTeam = filter (hasName nameOfTeam)
diff --git a/src/Network/Octohat/Members.hs b/src/Network/Octohat/Members.hs
--- a/src/Network/Octohat/Members.hs
+++ b/src/Network/Octohat/Members.hs
@@ -23,11 +23,11 @@
 
 -- | Takes a new team name, the description of a team and the organization where to create the team
 --   and creates a new team. Regular GitHub authorization/authentication applies.
-addTeamToOrganization :: T.Text  -- ^ Name of new team
+addTeamToOrganization :: TeamName -- ^ Name of new team
                       -> T.Text  -- ^ Description of new team
-                      -> T.Text  -- ^ Organization name where the team will be created
+                      -> OrganizationName -- ^ Organization name where the team will be created
                       -> GitHub Team
-addTeamToOrganization nameOfNewTeam descOfTeam orgName =
+addTeamToOrganization (TeamName nameOfNewTeam) descOfTeam (OrganizationName orgName) =
   postRequestTo (composeEndpoint ["orgs", orgName, "teams"]) (TeamCreateRequest nameOfNewTeam descOfTeam)
 
 -- | Deletes a team from an organization using its team ID.
@@ -36,9 +36,9 @@
 deleteTeamFromOrganization idOfTeam = deleteRequestTo (composeEndpoint ["teams", T.pack $ show idOfTeam])
 
 -- | Returns a list of members of an organization with the given name.
-membersForOrganization :: T.Text          -- ^ The organization name
+membersForOrganization :: OrganizationName -- ^ The organization name
                        -> GitHub [Member]
-membersForOrganization nameOfOrg = getRequestTo (composeEndpoint ["orgs", nameOfOrg, "members"])
+membersForOrganization (OrganizationName nameOfOrg) = getRequestTo (composeEndpoint ["orgs", nameOfOrg, "members"])
 
 -- | Returns a list of members of a team with the given team ID.
 membersForTeam :: Integer         -- ^ The team ID
@@ -46,9 +46,9 @@
 membersForTeam idOfTeam = getRequestTo (composeEndpoint ["teams", T.pack $ show idOfTeam, "members"])
 
 -- | Returns a list of teams for the organization with the given name
-teamsForOrganization :: T.Text        -- ^ The organization name
+teamsForOrganization :: OrganizationName -- ^ The organization name
                      -> GitHub [Team]
-teamsForOrganization nameOfOrg = getRequestTo (composeEndpoint ["orgs", nameOfOrg, "teams"])
+teamsForOrganization (OrganizationName nameOfOrg) = getRequestTo (composeEndpoint ["orgs", nameOfOrg, "teams"])
 
 -- | Adds a member to a team, might invite or add the member. Refer to 'StatusInTeam'
 addMemberToTeam :: T.Text               -- ^ The GitHub username to add to a team
diff --git a/src/Network/Octohat/Types.hs b/src/Network/Octohat/Types.hs
--- a/src/Network/Octohat/Types.hs
+++ b/src/Network/Octohat/Types.hs
@@ -5,6 +5,8 @@
                              , MemberWithKey(..)
                              , Team(..)
                              , BearerToken(..)
+                             , OrganizationName(..)
+                             , TeamName(..)
                              , StatusInTeam(..)
                              , EmptyBody(..)
                              , DidDelete(..)
@@ -141,6 +143,14 @@
 -- | GitHub's OAuth 2.0 bearer token. This is simply added in an
 --   Authorization header
 newtype BearerToken = BearerToken { unBearerToken :: T.Text }
+
+-- | OrganizationName is added in order to have type safety in functions where the
+--   Organization name and the Team name are both strings and may be confused
+newtype OrganizationName = OrganizationName { unOrganizationName :: T.Text }
+
+-- | TeamName is added in order to have type safety in functions where the
+--   Team name and the Organization name are both strings and may be confused
+newtype TeamName = TeamName { unTeamName :: T.Text }
 
 -- | The monad transformer where all operations run. Supports initial configuration
 --   through a Reader monad and the possibility of failure through Either
