diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -1,6 +1,11 @@
 module Main where
 
 import Villefort
+import Villefort.Definitions
 
 main :: IO ()
-main = villefort def
+main = villefort def {
+  port = 3000,
+  noCustom = True,
+  database = "/home/chris/.cabal/share/x86_64-linux-ghc-7.10.3/Villefort-0.1.1.14/data/todo.db"
+                     }
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
 # Villefort
 Villefort is a time managment system written in Haskell.
 
-## Version 1.1.14
-Now you can compare new weekly tab.
-Fixed weekly bug.
+## Version 1.1.15
+- generally cleaned up code base
+- made daily into the IO monad so it matches the weekly tasks
 
 [default config](https://github.com/Chrisr850/Villefort/blob/master/src/Villefort/Config.hs)
 
@@ -22,23 +22,53 @@
 4. You will be able to see the homescreen by typing localhost:3002 into your favorite browser.
 
 ## Configure your villefort
-create a custom main method in ~.villefort/villefort.hs example
+create a custom main method in ~.villefort/villefort.hs. Below is an example.
 
+
 ```haskell
 module Main where
 
 import Villefort
-
+import Villefort.Definitions
+import System.Random
+import System.IO.Strict as S
 
 main :: IO ()
 main = villefort def {
-           -- description			Title	       Subject
-  daily = [[ "","check calendar","admin"]] -- tasks to run daily
+  daily = [floss,
+           calendar ],
   weekly = defWeekly {
-      friday = [return ["Freaky Friday","Friday","Admin"] -- tasks to run every friday
-      },
-  port = 3001
-    }
+    monday = [more,
+             dailyRef],
+    tuesday = [dailyRef],
+    wednesday = [more,
+                dailyRef],
+    thursday  = [dailyRef],
+    friday = [more,
+              scan,
+              dailyRef]
+ 
+    },
+    showDatabase = True
+ }
+
+floss    = pure ["","floss","wellness"]
+calendar = pure ["","check calendar","admin"]
+scan     = pure ["scan class notes","scan","admin"] 
+dailyRef = pure ["write a daily reflection on each class","reflect","admin"]
+
+more = do
+  z <- S.readFile  "/home/chris/.villefort/push"  -- readfile to get # push ups
+  let num = read z :: Double
+  writeFile "/home/chris/.villefort/push" (show (num+0.3))
+  sets <- pushUps num
+  return $ [show sets,"push ups","fit"]
+
+pushUps level = do
+  dubs <-  mapM gen $ replicate 5 level :: IO [Double]
+  return $ map floor dubs
+  where gen x =  randomRIO (x-(x/3),x+(x/3))
+ 
 ```
 
 Then run ```Villefort --recompile```
diff --git a/Villefort.cabal b/Villefort.cabal
--- a/Villefort.cabal
+++ b/Villefort.cabal
@@ -1,5 +1,5 @@
 name:                Villefort
-version:             0.1.1.14
+version:             0.1.1.15
 synopsis: Villefort is a task manager and time tracker written in haskell.
 description: Villefort is a browser based time tracker.
 homepage:            https://github.com/Chrisr850/Villefort#readme
diff --git a/src/Villefort/Config.hs b/src/Villefort/Config.hs
--- a/src/Villefort/Config.hs
+++ b/src/Villefort/Config.hs
@@ -5,7 +5,7 @@
 import Villefort.Database
 
 def = VConfig {
-  daily = [[]], --daily tasks
+  daily = [return []], --daily tasks
   monthly =[[]], -- not implemented
   yearly =[[]], --  not implemented
   weekly = defWeekly, -- tasks to run on a given week day
diff --git a/src/Villefort/Daily.hs b/src/Villefort/Daily.hs
--- a/src/Villefort/Daily.hs
+++ b/src/Villefort/Daily.hs
@@ -21,9 +21,8 @@
   (_,numWeek,_) <- liftIO $ toWeekDate <$> getDate
   let addWeek = ( ("<h1> Week " ++ show numWeek ++ "</h1> ") ++ )
   z <-  (header ++ ) <$> addWeek <$> mconcat <$> mapM getSummaryDay  dates
-  d <- n
+  d <- genTabs
   return $ z ++ d
-         
   
 getSummaryDay :: (MonadReader VConfig m, MonadIO m) => Day -> m String
 getSummaryDay day = do
@@ -44,24 +43,24 @@
   t z
   where t  = (\x -> getSubWeek (show $ x !! 0) (show $ x !! 1))
 
-n :: (MonadReader VConfig m, MonadIO m) => m String
-n = do
+genTabs :: (MonadReader VConfig m, MonadIO m) => m String
+genTabs = do
   z <- p
   t <- st
+  f <- liftIO $ getDatesOfPrevWeek
+  n <- liftIO $ getDatesOfThisWeek
   let q =  sortBy ( compare  `on` head) $ z ++ t
-
-  return $ makeTable ["Subject","Last week","This week"] $ spec q
+  return $ makeTable ["Subject","Last week"++ show f,"This week" ++ show n] $ spec q
 
 
 spec :: [[String]] -> [[String]]
 spec (x:y:z) = if head x ==  head y
                   then [[head x] ++ tail x ++ tail y] ++ spec (y:z)
                        else spec (y:z)
-
+                            
 spec (x:y:[]) = if head x ==  (head y)
                   then [[head x], tail x ++ (tail y)] ++ spec [y]
                        else spec [y]
 
 spec (x:[]) = [x]
 spec [] = []
-
diff --git a/src/Villefort/Definitions.hs b/src/Villefort/Definitions.hs
--- a/src/Villefort/Definitions.hs
+++ b/src/Villefort/Definitions.hs
@@ -1,7 +1,7 @@
 module Villefort.Definitions where
 
 data VConfig  = VConfig {
-  daily :: ![[String]],
+  daily :: [IO [String]],
   monthly :: [[String]],
   yearly :: [[String]],
   weekly :: Weekly,
diff --git a/src/Villefort/Server.hs b/src/Villefort/Server.hs
--- a/src/Villefort/Server.hs
+++ b/src/Villefort/Server.hs
@@ -99,8 +99,12 @@
   if (checkDay oldDate currentDate) then
     putStrLn "same-day"
   else
-    putStrLn "adding-daily" >> putStrLn (show ( daily vconf)) >> runReaderT ( mapM_ addDaily (daily vconf)) vconf 
-               
+    putStrLn "adding-daily" >> do
+    dailies <- sequence (daily vconf)
+    mapM_ add dailies
+    where add = (\x -> if Prelude.null x then return () else runReaderT ( addDaily x) vconf)
+
+    
 runMonthly :: D -> D -> IO ()
 runMonthly oldDate currentDate = if(checkMonth oldDate currentDate) then
   putStrLn "same-month"
@@ -175,8 +179,9 @@
   _ <-
     waitForProcess pid
   return ()
-checkCustomBuild = do
 
+checkCustomBuild :: IO ()
+checkCustomBuild = do
   dir <- getAppUserDataDirectory "villefort"
   let path = dir ++ "/villefort"
   putStrLn path
@@ -242,11 +247,9 @@
       to <- liftIO $ runReaderT weeklyStats conf
       html $ pack to
 
-    get "/arst" $ do
-      z <- liftIO $ runReaderT n conf
-      html $ pack z
       
     get "/stat" $ do
       page <- liftIO $runReaderT  genStats conf
       html $ pack page
+
       
