diff --git a/casr-logbook.cabal b/casr-logbook.cabal
--- a/casr-logbook.cabal
+++ b/casr-logbook.cabal
@@ -1,5 +1,5 @@
 name:               casr-logbook
-version:            0.0.7
+version:            0.0.8
 license:            OtherLicense
 license-file:       LICENSE
 author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+0.0.8
+
+* change amp to mdash in flight path.
+* add id and links.
+
 0.0.7
 
 * HTML output printer.
diff --git a/src/Data/Aviation/Casr/Logbook.hs b/src/Data/Aviation/Casr/Logbook.hs
--- a/src/Data/Aviation/Casr/Logbook.hs
+++ b/src/Data/Aviation/Casr/Logbook.hs
@@ -1,36 +1,1235 @@
 {-# LANGUAGE OverloadedStrings #-}
 
-module Data.Aviation.Casr.Logbook (
-  module L
-) where
-
-import Data.Aviation.Casr.Logbook.Aircraft as L
-import Data.Aviation.Casr.Logbook.ARN as L
-import Data.Aviation.Casr.Logbook.Date as L
-import Data.Aviation.Casr.Logbook.DayNight as L
-import Data.Aviation.Casr.Logbook.DOB as L
-import Data.Aviation.Casr.Logbook.Engine as L
-import Data.Aviation.Casr.Logbook.FlightLogEntries as L
-import Data.Aviation.Casr.Logbook.FlightLogEntry as L
-import Data.Aviation.Casr.Logbook.FlightLog as L
-import Data.Aviation.Casr.Logbook.FlightPath as L
-import Data.Aviation.Casr.Logbook.Hours as L
-import Data.Aviation.Casr.Logbook.Image as L
-import Data.Aviation.Casr.Logbook.Images as L
-import Data.Aviation.Casr.Logbook.ImageType as L
-import Data.Aviation.Casr.Logbook.Printer.Html as L
-import Data.Aviation.Casr.Logbook.Printer.Markdown as L
-import Data.Aviation.Casr.Logbook.Name as L
-import Data.Aviation.Casr.Logbook.PiC as L
-import Data.Aviation.Casr.Logbook.PoB as L
-import Data.Aviation.Casr.Logbook.Sequence as L
-import Data.Aviation.Casr.Logbook.Totals as L
-import Data.Aviation.Casr.Logbook.TrackLog as L
-import Data.Aviation.Casr.Logbook.TrackLogs as L
-import Data.Aviation.Casr.Logbook.TrackLogType as L
-import Data.Aviation.Casr.Logbook.Video as L
-import Data.Aviation.Casr.Logbook.Videos as L
-import Data.Aviation.Casr.Logbook.VideoType as L
-import Data.Aviation.Casr.Logbook.Visualisation as L
-import Data.Aviation.Casr.Logbook.Visualisations as L
-import Data.Aviation.Casr.Logbook.VisualisationType as L
+module Data.Aviation.Casr.Logbook ( main,
+  module L
+) where
+
+import Data.Aviation.Casr.Logbook.Aircraft as L
+import Data.Aviation.Casr.Logbook.ARN as L
+import Data.Aviation.Casr.Logbook.Date as L
+import Data.Aviation.Casr.Logbook.DayNight as L
+import Data.Aviation.Casr.Logbook.DOB as L
+import Data.Aviation.Casr.Logbook.Engine as L
+import Data.Aviation.Casr.Logbook.FlightLogEntries as L
+import Data.Aviation.Casr.Logbook.FlightLogEntry as L
+import Data.Aviation.Casr.Logbook.FlightLog as L
+import Data.Aviation.Casr.Logbook.FlightPath as L
+import Data.Aviation.Casr.Logbook.Hours as L
+import Data.Aviation.Casr.Logbook.Image as L
+import Data.Aviation.Casr.Logbook.Images as L
+import Data.Aviation.Casr.Logbook.ImageType as L
+import Data.Aviation.Casr.Logbook.Printer.Html as L
+import Data.Aviation.Casr.Logbook.Printer.Markdown as L
+import Data.Aviation.Casr.Logbook.Name as L
+import Data.Aviation.Casr.Logbook.PiC as L
+import Data.Aviation.Casr.Logbook.PoB as L
+import Data.Aviation.Casr.Logbook.Sequence as L
+import Data.Aviation.Casr.Logbook.Totals as L
+import Data.Aviation.Casr.Logbook.TrackLog as L
+import Data.Aviation.Casr.Logbook.TrackLogs as L
+import Data.Aviation.Casr.Logbook.TrackLogType as L
+import Data.Aviation.Casr.Logbook.Video as L
+import Data.Aviation.Casr.Logbook.Videos as L
+import Data.Aviation.Casr.Logbook.VideoType as L
+import Data.Aviation.Casr.Logbook.Visualisation as L
+import Data.Aviation.Casr.Logbook.Visualisations as L
+import Data.Aviation.Casr.Logbook.VisualisationType as L
+
+
+-- import Data.Aviation.Casr.Logbook
+import System.Environment
+import System.IO
+
+vhldo ::
+  Aircraft
+vhldo =
+  Aircraft
+    "2011 Cessna 162 Skycatcher"
+    "VH-LDO"
+    Single
+
+vhafr ::
+  Aircraft
+vhafr =
+  Aircraft
+    "2000 Cessna 172S Skyhawk"
+    "VH-AFR"
+    Single
+
+vhvvo ::
+  Aircraft
+vhvvo =
+  Aircraft
+    "2000 Cessna 172R Skyhawk"
+    "VH-VVO"
+    Single
+
+vhzwy ::
+  Aircraft
+vhzwy =
+  Aircraft
+    "2000 Cessna 172S Skyhawk"
+    "VH-ZWY"
+    Single
+
+ybaf2ybaf ::
+  FlightPath
+ybaf2ybaf =
+  directPath
+    "YBAF"
+    "YBAF"
+
+flightlogentries ::
+  FlightLogEntries
+flightlogentries =
+  FlightLogEntries
+    [
+      FlightLogEntry
+        "P1.1 Effects of Controls"
+        "20151214"
+        vhldo
+        (
+          Hours
+            1
+            2
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "Michael Ward"
+        mempty
+        mempty
+        mempty
+        mempty
+    , FlightLogEntry
+        "P1.2 Straight & Level"
+        "20151218"
+        vhldo
+        (
+          Hours
+            1
+            0
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "Michael Ward"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20151218-vh-ldo.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20151218-vh-ldo.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/595690"
+              Nothing
+              (Doarama "k=6rAdypE")
+          ]
+        )
+        mempty
+        (
+          Videos
+          [
+            Video
+              "13BVior4VmY"
+              (Just "Head camera")
+              YouTube
+          ]
+        )
+    , FlightLogEntry
+        "P1.3 Climbing & Descending"
+        "20151220"
+        vhldo
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "Michael Ward"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20151220-vh-ldo.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20151220-vh-ldo.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/596790"
+              Nothing
+              (Doarama "6rZrPp6")
+          ]
+        )
+        mempty
+        (
+          Videos
+          [
+            Video
+              "8tZ8kxsVz6E"
+              (Just "Head camera")
+              YouTube
+          ]      
+        )
+    , FlightLogEntry
+        "P1.4 Turning"
+        "20160104"
+        vhldo
+        (
+          Hours
+            1
+            3
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "Ryan Low"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160104-vh-ldo.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160104-vh-ldo.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/607004"
+              Nothing
+              (Doarama "6x5Az8e")
+          ]
+        )
+        mempty
+        mempty
+    , FlightLogEntry
+        "P1.5 Stalling"
+        "20160108"
+        vhldo
+        (
+          Hours
+            1
+            3
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160108-vh-ldo.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160108-vh-ldo.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/611980"
+              Nothing
+              (Doarama "eYQA7ve")
+          ]
+        )
+        mempty
+        mempty
+    , FlightLogEntry
+        "P1.6 Consolidation"
+        "20160115"
+        vhafr
+        (
+          Hours
+            1
+            4
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160115-vh-afr.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160115-vh-afr.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/617610"
+              Nothing
+              (Doarama "k8p38wk")
+          ]
+        )
+        mempty
+        mempty
+    , FlightLogEntry
+        "P2.1 Circuits"
+        "20160122"
+        vhafr
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160122-vh-afr.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160122-vh-afr.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/622258"
+              Nothing
+              (Doarama "k0nXwd6")
+          ]
+        )
+        (
+          Images
+          [
+            Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_082411.jpg"
+              Nothing
+              Jpg
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_082856.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_082902.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_082905.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_083348.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_083352.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_083353.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_084902.jpg"
+              Nothing
+              Jpg 
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_084906.jpg"
+              Nothing
+              Jpg 
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160122-vh-afr/20160122_084908.jpg"
+              Nothing
+              Jpg                                     
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "gz8Ivcjas9o"
+              (Just "Head camera")
+              YouTube
+          ]
+        )     
+    , FlightLogEntry
+        "P2.2 Circuits"
+        "20160129"
+        vhafr
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160129-vh-afr.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160129-vh-afr.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/626694"
+              Nothing
+              (Doarama "6b7RKAe")
+          ]
+        )
+        mempty
+        (
+          Videos
+          [
+            Video
+              "k9c1GdxkdQY"
+              (Just "Head camera")
+              YouTube
+          ]       
+        )
+    , FlightLogEntry
+        "P2.3 Circuits"
+        "20160205"
+        vhafr
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160205-vh-afr.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160205-vh-afr.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/635027"
+              Nothing
+              (Doarama "eBdaGlE")
+          ]
+        )
+        mempty
+        mempty
+    , FlightLogEntry
+        "P2.4 Circuits"
+        "20160212"
+        vhafr
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160212-vh-afr.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160212-vh-afr.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/640001"
+              Nothing
+              (Doarama "E2y3mnk")
+          ]
+        )
+        mempty
+        (
+          Videos
+          [
+            Video
+              "e7UcjgxOmDw"
+              (Just "Head camera")
+              YouTube
+          ]
+        )                                                            
+    , FlightLogEntry
+        "P3.1 Circuit Emergencies"
+        "20160218"
+        vhafr
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+          [
+            TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160218-vh-afr.gpx"
+              Nothing
+              Gpx
+          , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160218-vh-afr.png"
+              Nothing
+              (ImageLog Png)
+          ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/644663"
+              Nothing
+              (Doarama "Ep1r9P6")
+          ]
+        )
+        (
+          Images
+          [
+            Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090347.jpg"
+              Nothing
+              Jpg
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090348.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090351.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090409.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090411.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090421.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090423.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090432.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090436.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090441.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090446.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090452.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090454.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090459.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090501.jpg"
+              Nothing
+              Jpg            
+          , Image
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/images/20160218-vh-afr/20160218_090502.jpg"
+              Nothing
+              Jpg            
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "EO4D4zFnpIU"
+              (Just "Head camera")
+              YouTube
+          ]  
+        )            
+    , FlightLogEntry
+        "P3.2 Circuit Emergencies"
+        "20160304"
+        vhafr
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160304-vh-afr.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160304-vh-afr.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/674600"
+              Nothing
+              (Doarama "6XbQDjk")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "jWUijREg4aE"
+              (Just "Head camera")
+              YouTube
+          ]
+        )                        
+    , FlightLogEntry
+        "P3.3 Circuit Emergencies"
+        "20160324"
+        vhzwy
+        (
+          Hours
+            1
+            0
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160324-vh-zwy.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160324-vh-zwy.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/691106"
+              Nothing
+              (Doarama "6bPVnnk")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "RNiYu3ZsfZw"
+              (Just "Forward camera")
+              YouTube
+          ]
+        )                        
+    , FlightLogEntry
+        "P3.4 Circuits"
+        "20160330"
+        vhzwy
+        (
+          Hours
+            0
+            9
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160330-vh-zwy.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160330-vh-zwy.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/696748"
+              Nothing
+              (Doarama "6xV5dVk")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+          ]
+        )
+    , FlightLogEntry
+        "P3.4 Circuits"
+        "20160330"
+        vhzwy
+        (
+          Hours
+            0
+            4
+        )
+        solo
+        ybaf2ybaf
+        Day
+        "Tony Morris"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160330-vh-zwy.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160330-vh-zwy.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/696748"
+              Nothing
+              (Doarama "6xV5dVk")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+          ]
+        )           
+    , FlightLogEntry
+        "P3.5 Circuits (Crosswind)"
+        "20160415"
+        vhafr
+        (
+          Hours
+            1
+            0
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160415-vh-afr.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160415-vh-afr.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/711553"
+              Nothing
+              (Doarama "k9nWdbE")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+          ]
+        )
+    , FlightLogEntry
+        "P3.6 Circuits (Solo check)"
+        "20160422"
+        vhafr
+        (
+          Hours
+            0
+            5
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160422-vh-afr.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160422-vh-afr.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/719248"
+              Nothing
+              (Doarama "6xVbR8k")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "UR1IkF5RSh4"
+              (Just "Forward camera")
+              YouTube
+          ]
+        )                                     
+    , FlightLogEntry
+        "P3.6 Circuits (Solo)"
+        "20160422"
+        vhafr
+        (
+          Hours
+            1
+            0
+        )
+        solo
+        ybaf2ybaf
+        Day
+        "Tony Morris"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160422-vh-afr.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160422-vh-afr.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/719248"
+              Nothing
+              (Doarama "6xVbR8k")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "UR1IkF5RSh4"
+              (Just "Forward camera")
+              YouTube
+          ]
+        )                                     
+    , FlightLogEntry
+        "P3.7 Circuits (Dual)"
+        "20160427"
+        vhvvo
+        (
+          Hours
+            0
+            6
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160427-vh-vvo.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160427-vh-vvo.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/724934"
+              Nothing
+              (Doarama "eo1yvBE")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+          ]
+        )                                     
+    , FlightLogEntry
+        "P3.7 Circuits (Solo)"
+        "20160427"
+        vhvvo
+        (
+          Hours
+            0
+            8
+        )
+        solo
+        ybaf2ybaf
+        Day
+        "Tony Morris"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160427-vh-vvo.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160427-vh-vvo.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/724934"
+              Nothing
+              (Doarama "eo1yvBE")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "2QNp74n2Lx8"
+              (Just "Forward camera")
+              YouTube
+          ]
+        ) 
+    , FlightLogEntry
+        "Practice Forced Landings"
+        "20160509"
+        vhafr
+        (
+          Hours
+            1
+            0
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160509-vh-afr.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160509-vh-afr.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/741813"
+              Nothing
+              (Doarama "edWMLO6")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "o1dx3hZuov0"
+              (Just "Forward camera")
+              YouTube
+          , Video
+              "6250595"
+              (Just "Live stream")
+              Bambuser
+          ]
+        )          
+      , FlightLogEntry
+        "Steep Turns"
+        "20160514"
+        vhvvo
+        (
+          Hours
+            1
+            2
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "David Schofield"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160514-vh-vvo.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160514-vh-vvo.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/748638"
+              Nothing
+              (Doarama "6jAODJE")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            Video
+              "vw9KjjqkOEg"
+              (Just "Forward camera")
+              YouTube
+          , Video
+              "6258610"
+              (Just "Live stream")
+              Bambuser
+          ]
+        )                                             
+      , FlightLogEntry
+        "Steep Turns"
+        "20160519"
+        vhvvo
+        (
+          Hours
+            1
+            1
+        )
+        dual
+        ybaf2ybaf
+        Day
+        "Ryan Low"
+        (
+          TrackLogs
+            [
+              TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/20160519-vh-vvo.gpx"
+              Nothing
+              Gpx      
+            , TrackLog
+              "https://raw.githubusercontent.com/tonymorris/ppl/master/tracks/png/20160519-vh-vvo.png"
+              Nothing
+              (ImageLog Png)                    
+            ]
+        )
+        (
+          Visualisations
+          [
+            Visualisation
+              "http://doarama.com/view/756397"
+              Nothing
+              (Doarama "k9nNR4E")
+          ]
+        )
+        (
+          Images
+          [
+          ]
+        )
+        (
+          Videos
+          [
+            -- todo youtube
+            Video
+              "6267124"
+              (Just "Live stream")
+              Bambuser
+          ]
+        )                                             
+    ]
+
+flightlog ::
+  FlightLog
+flightlog =
+  FlightLog
+    "Tony John Morris"
+    "19771102"
+    "1007036"
+    flightlogentries
+
+main ::
+  IO ()
+main =
+  do  a <- getArgs
+      case a of
+        [md, h] ->
+          do  writeMarkdownFile md flightlog
+              writeHtmlFile h flightlog
+        _ -> 
+          hPutStrLn stderr "args: <markdown-file> <html-file>"
diff --git a/src/Data/Aviation/Casr/Logbook/FlightLog.hs b/src/Data/Aviation/Casr/Logbook/FlightLog.hs
--- a/src/Data/Aviation/Casr/Logbook/FlightLog.hs
+++ b/src/Data/Aviation/Casr/Logbook/FlightLog.hs
@@ -56,21 +56,21 @@
       , "<script type=\"text/javascript\" src=\"https://raw.github.com/Mathapedia/LaTeX2HTML5/master/latex2html5.min.js\"></script>"
       , "</head>"
       , "<body class=\"casr-logbook\">"    
-      , "<div class=\"title\">"
+      , "<div id=\"title\" class=\"title\">"
       , "<h1>Pilot Personal Log Book</h1>"
       , "</div>"
-      , "<div class=\"subtitle\">"
+      , "<div id=\"subtitle\" class=\"subtitle\">"
       , "<h2>Civil Aviation Safety Regulation 1998 (61.345) <span class=\"austlii\"><a href=\"http://www.austlii.edu.au/au/legis/cth/consol_reg/casr1998333/s61.345.html\">austlii.edu.au</a></span></h2>"
       , "</div>" 
-      , "<div class=\"personal\">"     
+      , "<div id=\"personal\" class=\"personal\">"     
       , "<ul>"
-      , "<li>"
+      , "<li id=\"name\">"
       , html name
       , "</li>"
-      , "<li>"
+      , "<li id=\"dob\">"
       , html dob
       , "</li>"
-      , "<li>"
+      , "<li id=\"arn\">"
       , html arn
       , "</li>"
       , "</ul>"            
@@ -78,7 +78,7 @@
       , "<hr>"
       , html (totals entries)
       , "<hr>"
-      , "<div class=\"flightlogentries\">"
+      , "<div id=\"flightlogentries\" class=\"flightlogentries\">"
       , html entries
       , "</div> "
       , "</body>"
diff --git a/src/Data/Aviation/Casr/Logbook/FlightLogEntries.hs b/src/Data/Aviation/Casr/Logbook/FlightLogEntries.hs
--- a/src/Data/Aviation/Casr/Logbook/FlightLogEntries.hs
+++ b/src/Data/Aviation/Casr/Logbook/FlightLogEntries.hs
@@ -2,6 +2,8 @@
   FlightLogEntries(..)
 ) where
 
+import Data.Aviation.Casr.Logbook.Aircraft
+import Data.Aviation.Casr.Logbook.Date
 import Data.Aviation.Casr.Logbook.FlightLogEntry
 import Data.Aviation.Casr.Logbook.Printer.Markdown
 import Data.Aviation.Casr.Logbook.Printer.Html
@@ -24,10 +26,28 @@
 
 instance Html FlightLogEntries where
   html (FlightLogEntries g) =
-    (\h -> concat
-             [
-               "<div class=\"flightlogentry\">"
-              , html h
-              , "</div>"
-              , "<hr>"
-              ]) =<< g
+    (\(i, h@(FlightLogEntry _ (Date d) (Aircraft _ reg _) _ _ _ _ _ _ _ _ _)) ->
+      let divid = concat
+                    [
+                      d
+                    , "_"
+                    , reg
+                    , "_"
+                    , show (i :: Int)
+                    ]
+      in  concat
+            [
+              "<div id=\""
+            , divid
+            , "\" class=\"flightlogentry\">"
+            , "<div class=\"hreflink\">"
+            , "<a href=\"#"
+            , divid
+            , "\">"
+            , "§"
+            , "</a>"
+            , "</div>"
+            , html h
+            , "</div>"
+            , "<hr>"
+            ]) =<< zip [0..] g
diff --git a/src/Data/Aviation/Casr/Logbook/FlightPath.hs b/src/Data/Aviation/Casr/Logbook/FlightPath.hs
--- a/src/Data/Aviation/Casr/Logbook/FlightPath.hs
+++ b/src/Data/Aviation/Casr/Logbook/FlightPath.hs
@@ -49,6 +49,6 @@
       , "</span>"
       , ": "
       , "<span class=\"info flightpathinfo\">"
-      , intercalate " &amp; " (map html (pathlist p))
+      , intercalate " &mdash; " (map html (pathlist p))
       , "</span>"
       ]
diff --git a/src/Data/Aviation/Casr/Logbook/Totals.hs b/src/Data/Aviation/Casr/Logbook/Totals.hs
--- a/src/Data/Aviation/Casr/Logbook/Totals.hs
+++ b/src/Data/Aviation/Casr/Logbook/Totals.hs
@@ -85,8 +85,10 @@
           concat
             [
               "<li class=\"summarypoint\">"
-            , "<span class=\"heading summarypointheading summarypointheading"
+            , "<span id=\""
             , q
+            , "\" class=\"heading summarypointheading summarypointheading"
+            , q
             , "\">"
             , x            
             , "</span>: <span class=\"summarypoint summarypoint"
@@ -101,8 +103,10 @@
               "<li class=\"summarypoint summarypoint"
             , q
             , "\">"
-            , "<span class=\"heading summarypointheading summarypointheading"
+            , "<span id=\""
             , q
+            , "\" class=\"heading summarypointheading summarypointheading"
+            , q
             , "\">"
             , x            
             , "</span>: <div class=\"summarypoint summarypoint"
@@ -132,7 +136,10 @@
             ]        
     in  concat
           [
-            "<div class=\"totals\">"
+            "<div id=\"summary\" class=\"totals\">"
+          , "<div class=\"hreflink\">"
+          , "<a href=\"#summary\">§</a>"
+          , "</div>"
           , "<h5>Summary</h5>"
           , "<ul>"
           , displayPoint "Total Hours" total "totalhours"
