diff --git a/src/MapleParser.hs b/src/MapleParser.hs
index 2e5ba4b6c4eecd8837d0bd04934c9442f38b4c0f..8ce8ab9dab6a1efcda1a07d721788ee7ff73f0f7 100644
--- a/src/MapleParser.hs
+++ b/src/MapleParser.hs
@@ -4,6 +4,7 @@ import Text.Parsec.String
 import ToDB
 import Database.Bolt (BoltActionT, Record)
 import Control.Monad (liftM2)
+import Data.Functor (($>))
 
 data MForm = MForm {fName :: String, fParams :: [String]} deriving (Show)
 
@@ -17,18 +18,26 @@ data Extracted = MCDef String
 extendedLetter :: Parser Char
 extendedLetter = try alphaNum <|> char '_'
 
+stripWrapper :: Char -> Char -> Parser String
+stripWrapper s e = 
+  optional (char s) *>
+  many (noneOf [s, e]) >>= \cnt ->
+  optional (char e) $>
+  cnt
+
 -- MapleC parsers
 
 mcDefineParser :: Parser Extracted
 mcDefineParser = MCDef <$> (string "$define" *> spaces *> many1 extendedLetter)
 
 mcIncludeParser :: Parser Extracted
-mcIncludeParser = MCInclude <$> (string "$include" *> spaces *> string "\"" *> many1 (extendedLetter <|> char '.') <* string "\"")
+mcIncludeParser = MCInclude <$> (string "$include" *> spaces *> stripWrapper '"' '"')
 
 mcConditionalParser :: Parser Extracted
 mcConditionalParser = MCConditional <$>
  (string "$ifdef" *> spaces *> many1 extendedLetter <* newline) <*>
- manyTill ((\x -> (varName x, varValue x)) <$> mVarParser) (string "$endif") -- use mVarParser to parse the conditional body
+ manyTill ((\x -> (varName x, varValue x)) <$> mVarParser) (string "$endif")
+ -- use mVarParser to parse the conditional body
 
 -- Maple parsers