diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,14 +0,0 @@
-import Distribution.Simple
-import Distribution.Simple.Setup
-import Distribution.Simple.Haddock
-main = do
-  defaultMainWithHooks simpleUserHooks{
-    haddockHook = \p l h flags -> haddockHook simpleUserHooks p l h flags{
-        haddockHoogle       = Flag True,
-        haddockHtml         = Flag True,
-        haddockProgramArgs  = [("-q",["aliased"])], -- does not seam to do anything
-        haddockExecutables  = Flag True,
-        haddockHscolour     = Flag True
-        }
-    }
-
diff --git a/buchhaltung.cabal b/buchhaltung.cabal
--- a/buchhaltung.cabal
+++ b/buchhaltung.cabal
@@ -1,5 +1,5 @@
 name:           buchhaltung
-version:        0.0.6
+version:        0.0.7
 Bug-Reports:      http://github.com/johannesgerer/buchhaltung/issues
 License:          MIT
 License-file:     LICENSE
@@ -17,7 +17,7 @@
 
 tested-with:    GHC == 7.10.1
 cabal-version:  >= 1.10
-build-type:     Custom
+build-type:     Simple
 
 Extra-source-files:
                    README.md
@@ -29,10 +29,6 @@
                    buchhaltung_autocomplete.bash
                    buchhaltung_autocomplete.zsh
                    exchange_rates/btc_eur
-
-custom-setup
-  setup-depends:  base >= 4.0.0.0 && < 5, Cabal
-
 
 library
   Hs-Source-Dirs:   src
diff --git a/src/Buchhaltung/Add.hs b/src/Buchhaltung/Add.hs
--- a/src/Buchhaltung/Add.hs
+++ b/src/Buchhaltung/Add.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE TupleSections #-}
 {-# LANGUAGE DeriveFunctor #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE TypeSynonymInstances #-}
@@ -298,9 +299,9 @@
 -- * Transaction suggestions
 
 data Asserted a = AA { aComment :: Comment
-                   , aAssertion :: Maybe Amount
-                   , aAmount :: a }
-              deriving (Functor, Show)
+                     , aAssertion :: BalanceAssertion
+                     , aAmount :: a }
+                deriving (Functor, Show)
 
 instance Default AssertedAmount where
   def = AA "" Nothing $ mixed' nullamt
@@ -312,7 +313,7 @@
 
 showAssertedAmount :: Asserted MixedAmount -> T.Text
 showAssertedAmount a = showMixedAmount2 (aAmount a) <>
-  maybe "" ((" = " <>) . showAmount2) (aAssertion a)
+  maybe "" ((" = " <>) . showAmount2 . fst) (aAssertion a)
 
 
 -- | Ask an amount, and return transactions matching the entered
@@ -627,9 +628,10 @@
 parseAmount
   :: Journal
      -> T.Text -> Either (MP.ParseError Char Void) AssertedAmount
-parseAmount j = parseWithState' j $ ((flip $ AA "") <$>
-                (fmap (Mixed . pure) $ amountp MP.<|> return missingamt)
-                <*> partialbalanceassertionp
+parseAmount j = parseWithState' j $
+                ((flip $ AA "") <$>
+                  (fmap (Mixed . pure) $ amountp MP.<|> return missingamt)
+                  <*> partialbalanceassertionp
                                     ) <* MP.eof
 
 -- | (unused) overwrite upstream behavior to use defined or incurred
@@ -640,7 +642,7 @@
 
 nosymbolamountp2 :: Monad m => JournalParser m Amount
 nosymbolamountp2 = do
-  (q,prec,mdec,mgrps) <- lift numberp
+  (q,prec,mdec,mgrps) <- lift $ numberp Nothing
   p <- priceamountp
   -- apply the most recently seen default commodity and style to this commodityless amount
   defcs <- getDefaultCommodityAndStyle2 <$> get
@@ -838,7 +840,7 @@
          (epNumber x) (name $ getUser $ present $ epUser x) mark
          $ epAccount x
        ,maybe "" (showMissing . pamount) $ epPosting x
-       ,maybe "" (("= " <>) . showAmount2)
+       ,maybe "" (("= " <>) . showAmount2 . fst)
         $ pbalanceassertion =<< epPosting x
        ,maybe "" fshow $ epFreq x
        ] | (marked,x) <- postings ]
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,1 +1,1 @@
-resolver: lts-10.4
+resolver: nightly-2018-01-29
