port over haskell's report templates