diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.3.0.4
+
+* add `naturalPositive` iso and `instance AsPositive Natural` prism.
+
 0.3.0.3
 
 * added some more functions.
diff --git a/natural.cabal b/natural.cabal
--- a/natural.cabal
+++ b/natural.cabal
@@ -1,7 +1,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                natural
-version:             0.3.0.3
+version:             0.3.0.4
 synopsis:            Natural number
 description:       
   <<http://i.imgur.com/uZnp9ke.png>>
diff --git a/src/Natural.hs b/src/Natural.hs
--- a/src/Natural.hs
+++ b/src/Natural.hs
@@ -36,6 +36,7 @@
 , SumPositive(..)
 , MaxPositive(..)
 , MinPositive(..)
+, naturalPositive
 , one
 , one'
 , successor1
@@ -542,6 +543,26 @@
 instance Semigroup MinPositive where
   MinPositive (Positive x) <> MinPositive (Positive y) =
     MinPositive (Positive (x `min` y))
+
+naturalPositive ::
+  Iso' Natural (Maybe Positive)
+naturalPositive =
+  iso
+    (\(Natural n) ->
+        if n == 0 then Nothing else Just (Positive n))
+    (\x ->  Natural (
+              case x of
+                Nothing ->
+                  0
+                Just (Positive n) ->
+                  n)
+            )
+
+instance AsPositive Natural where
+  _Positive =
+    prism'
+      (\(Positive n) -> Natural n)
+      (\(Natural n) -> if n == 0 then Nothing else Just (Positive n))
 
 one ::
   Prism'
