diff --git a/LICENCE b/LICENCE
new file mode 100644
--- /dev/null
+++ b/LICENCE
@@ -0,0 +1,31 @@
+Copyright (c) 2017-2019, Commonwealth Scientific and Industrial Research Organisation
+Copyright (c) 2019-2021, Tony Morris
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Tony Morris nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/aviation-units.cabal b/aviation-units.cabal
new file mode 100644
--- /dev/null
+++ b/aviation-units.cabal
@@ -0,0 +1,52 @@
+name:               aviation-units
+version:            0.0.2
+license:            BSD3
+license-file:       LICENCE
+author:             Tony Morris <ʇǝu˙sıɹɹoɯʇ@ןןǝʞsɐɥ>, Joshua Morris <ɯoɔ˙lᴉɐɯƃ@llǝʞsɐɥ+sᴉɹɹoɯuɥoɾɐnɥsoɾ>
+maintainer:         Tony Morris, Joshua Morris
+copyright:          Copyright (c) 2019-2021, Tony Morris
+synopsis:           Units of measurements used in aviation.
+category:           Aviation
+description:
+  Units of measurements used in aviation.
+
+homepage:           https://gitlab.com/tonymorris/aviation-units
+bug-reports:        https://gitlab.com/tonymorris/aviation-units/issues
+cabal-version:      >= 1.10
+build-type:         Simple
+extra-source-files: changelog
+tested-with:        GHC == 7.10.3
+                    , GHC == 8.0.2
+                    , GHC == 8.2.2
+                    , GHC == 8.4.4
+                    , GHC == 8.6.4
+                    , GHC == 8.6.5
+
+source-repository   head
+  type:             git
+  location:         git@github.com:tonymorris/aviation-units.git
+
+library
+  default-language:
+                    Haskell2010
+
+  build-depends:
+                    base >= 4.8 && < 5
+                    , lens >= 4.15 && < 5
+
+  ghc-options:
+                    -Wall
+
+  hs-source-dirs:
+                    src
+
+  exposed-modules:
+                    Data.Aviation.Units
+                    Data.Aviation.Units.Centimetres
+                    Data.Aviation.Units.ImperialGallons
+                    Data.Aviation.Units.Inches
+                    Data.Aviation.Units.Kilograms
+                    Data.Aviation.Units.Litres
+                    Data.Aviation.Units.Pounds
+                    Data.Aviation.Units.Thouinches
+                    Data.Aviation.Units.USGallons
diff --git a/changelog b/changelog
new file mode 100644
--- /dev/null
+++ b/changelog
@@ -0,0 +1,7 @@
+0.0.2
+
+* Update GHC version
+
+0.0.1
+
+* Initial release
diff --git a/src/Data/Aviation/Units.hs b/src/Data/Aviation/Units.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units.hs
@@ -0,0 +1,14 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+
+module Data.Aviation.Units(
+  module A
+) where
+
+import Data.Aviation.Units.Centimetres as A
+import Data.Aviation.Units.ImperialGallons as A
+import Data.Aviation.Units.Inches as A
+import Data.Aviation.Units.Kilograms as A
+import Data.Aviation.Units.Litres as A
+import Data.Aviation.Units.Pounds as A
+import Data.Aviation.Units.Thouinches as A
+import Data.Aviation.Units.USGallons as A
diff --git a/src/Data/Aviation/Units/Centimetres.hs b/src/Data/Aviation/Units/Centimetres.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/Centimetres.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.Centimetres(
+  Centimetres(centimetres)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class Centimetres a where
+  centimetres ::
+    Iso' Rational a
+
+instance Centimetres Rational where
+  centimetres =
+    id
diff --git a/src/Data/Aviation/Units/ImperialGallons.hs b/src/Data/Aviation/Units/ImperialGallons.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/ImperialGallons.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.ImperialGallons(
+  ImperialGallons(imperialgallons)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class ImperialGallons a where
+  imperialgallons ::
+    Iso' Rational a
+
+instance ImperialGallons Rational where
+  imperialgallons =
+    id
diff --git a/src/Data/Aviation/Units/Inches.hs b/src/Data/Aviation/Units/Inches.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/Inches.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.Inches(
+  Inches(inches)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class Inches a where
+  inches ::
+    Iso' Rational a
+
+instance Inches Rational where
+  inches =
+    id
diff --git a/src/Data/Aviation/Units/Kilograms.hs b/src/Data/Aviation/Units/Kilograms.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/Kilograms.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.Kilograms(
+  Kilograms(kilograms)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class Kilograms a where
+  kilograms ::
+    Iso' Rational a
+
+instance Kilograms Rational where
+  kilograms =
+    id
diff --git a/src/Data/Aviation/Units/Litres.hs b/src/Data/Aviation/Units/Litres.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/Litres.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.Litres(
+  Litres(litres)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class Litres a where
+  litres ::
+    Iso' Rational a
+
+instance Litres Rational where
+  litres =
+    id
diff --git a/src/Data/Aviation/Units/Pounds.hs b/src/Data/Aviation/Units/Pounds.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/Pounds.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.Pounds(
+  Pounds(pounds)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class Pounds a where
+  pounds ::
+    Iso' Rational a
+
+instance Pounds Rational where
+  pounds =
+    id
diff --git a/src/Data/Aviation/Units/Thouinches.hs b/src/Data/Aviation/Units/Thouinches.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/Thouinches.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.Thouinches(
+  Thouinches(thouinches)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class Thouinches a where
+  thouinches ::
+    Iso' Rational a
+
+instance Thouinches Rational where
+  thouinches =
+    id
diff --git a/src/Data/Aviation/Units/USGallons.hs b/src/Data/Aviation/Units/USGallons.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Aviation/Units/USGallons.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE FlexibleInstances #-}
+
+module Data.Aviation.Units.USGallons(
+  USGallons(usgallons)
+) where
+
+import Control.Category(id)
+import Control.Lens(Iso')
+import Prelude(Rational)
+
+class USGallons a where
+  usgallons ::
+    Iso' Rational a
+
+instance USGallons Rational where
+  usgallons =
+    id
