diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 
 [![Build Status](https://travis-ci.org/Alexander-Ignatyev/astro.svg?branch=master)](https://travis-ci.org/Alexander-Ignatyev/astro)
 [![Coverage Status](https://coveralls.io/repos/github/Alexander-Ignatyev/astro/badge.svg)](https://coveralls.io/github/Alexander-Ignatyev/astro)
-[![Documentation](https://img.shields.io/badge/mltool-documentation-blue.svg)](https://alexander-ignatyev.github.io/astro-docs/doc/index.html)
+[![Documentation](https://img.shields.io/badge/astro-documentation-blue.svg)](https://alexander-ignatyev.github.io/astro-docs/doc/index.html)
 [![Hackage](https://img.shields.io/hackage/v/astro.svg)](https://hackage.haskell.org/package/astro) 
 
 
diff --git a/astro.cabal b/astro.cabal
--- a/astro.cabal
+++ b/astro.cabal
@@ -1,5 +1,5 @@
 name:                astro
-version:             0.4.1.3
+version:             0.4.2.0
 synopsis:            Amateur astronomical computations
 description:
     Amateur astronomical computations: rise and set times and azimuths,
diff --git a/src/Data/Astro/Moon.hs b/src/Data/Astro/Moon.hs
--- a/src/Data/Astro/Moon.hs
+++ b/src/Data/Astro/Moon.hs
@@ -79,6 +79,7 @@
 module Data.Astro.Moon
 (
   moonPosition1
+  , moonPosition2
   , moonDistance1
   , moonAngularSize
   , moonHorizontalParallax
@@ -89,12 +90,13 @@
 where
 
 import qualified Data.Astro.Utils as U
-import Data.Astro.Types (DecimalDegrees(..), toRadians, fromRadians)
+import Data.Astro.Types (DecimalDegrees(..), GeographicCoordinates, toRadians, fromRadians, kmToAU)
 import Data.Astro.Time.JulianDate (JulianDate(..), numberOfDays)
 import Data.Astro.Coordinate (EquatorialCoordinates1(..), EclipticCoordinates(..), eclipticToEquatorial)
 import Data.Astro.Planet (planetBrightLimbPositionAngle)
 import Data.Astro.Sun (sunDetails, sunMeanAnomaly2, sunEclipticLongitude2)
-import Data.Astro.Moon.MoonDetails (MoonDetails(..), MoonDistanceUnits(..), j2010MoonDetails)
+import Data.Astro.Moon.MoonDetails (MoonDetails(..), MoonDistanceUnits(..), j2010MoonDetails, mduToKm)
+import Data.Astro.Effects (parallax)
 
 
 -- | Reduce the value to the range [0, 360)
@@ -119,6 +121,19 @@
       lambdaM = at + nm'
       betaM = fromRadians $ asin $ (sin a) * (sin i)
   in eclipticToEquatorial (EcC betaM lambdaM) ut
+
+
+-- | Calculate Equatorial Coordinates of the Moon with the given MoonDetails,
+-- distance to the Moon, geographic coordinates of the onserver,
+-- height above sea-level of the observer measured in metres (20 is a good reasonable value for the height)
+-- and at the given JulianDate.
+-- It is recommended to use 'j2010MoonDetails' as a first parameter,
+-- to obtain the distance to the Moon you can use `moonDistance1` function.
+-- `moonPosition2` takes into account parallax effect.
+moonPosition2 :: MoonDetails -> MoonDistanceUnits -> GeographicCoordinates -> Double -> JulianDate -> EquatorialCoordinates1
+moonPosition2 md distance coords height jd =
+  let p = moonPosition1 md jd
+  in parallax coords height (kmToAU $ mduToKm distance) jd p
 
 
 -- | Calculates the Moon's Distance at the given julian date.
diff --git a/src/Data/Astro/Planet/PlanetDetails.hs b/src/Data/Astro/Planet/PlanetDetails.hs
--- a/src/Data/Astro/Planet/PlanetDetails.hs
+++ b/src/Data/Astro/Planet/PlanetDetails.hs
@@ -1,7 +1,7 @@
 {-|
 Module: Data.Astro.Planet.PlanetDetails
 Description: Planet Details
-Copyright: Alexander Ignatyev, 2016
+Copyright: Alexander Ignatyev, 2016-2017
 
 Planet Details.
 -}
@@ -58,13 +58,14 @@
 
 -- | PlanetDetails at the reference Epoch J2010.0
 j2010PlanetDetails :: Planet -> PlanetDetails
+--                                                 Epoch Tp         Epsilon    Omega Bar  e        alpha    i        Big Omega Big Theta
 j2010PlanetDetails Mercury = PlanetDetails Mercury j2010 0.24085    75.5671    77.612     0.205627 0.387098 7.0051   48.449    (arcsecs 6.74)
 j2010PlanetDetails Venus   = PlanetDetails Venus   j2010 0.615207   272.30044  131.54     0.006812 0.723329 3.3947   76.769    (arcsecs 16.92)
 j2010PlanetDetails Earth   = PlanetDetails Earth   j2010 0.999996   99.556772  103.2055   0.016671 0.999985 0        0         (arcsecs 0)
 j2010PlanetDetails Mars    = PlanetDetails Mars    j2010 1.880765   109.09646  336.217    0.093348 1.523689 1.8497   49.632    (arcsecs 9.36)
 j2010PlanetDetails Jupiter = PlanetDetails Jupiter j2010 11.857911  337.917132 14.6633    0.048907 5.20278  1.3035   100.595   (arcsecs 196.74)
 j2010PlanetDetails Saturn  = PlanetDetails Saturn  j2010 29.310579  172.398316 89.567     0.053853 9.51134  2.4873   113.752   (arcsecs 165.6)
-j2010PlanetDetails Uranus  = PlanetDetails Uranus  j2010 84.039492  271.063148 172.884833 0.046321 19.21814 0.773059 73.926961 (arcsecs 65.8)
+j2010PlanetDetails Uranus  = PlanetDetails Uranus  j2010 84.039492  356.135400 172.884833 0.046321 19.21814 0.773059 73.926961 (arcsecs 65.8)
 j2010PlanetDetails Neptune = PlanetDetails Neptune j2010 165.845392 326.895127 23.07      0.010483 30.1985  1.7673   131.879   (arcsecs 62.2)
 
 -- | arcseconds to DecimalHours
diff --git a/src/Data/Astro/Types.hs b/src/Data/Astro/Types.hs
--- a/src/Data/Astro/Types.hs
+++ b/src/Data/Astro/Types.hs
@@ -48,6 +48,8 @@
   , GeographicCoordinates(..)
   , AstronomicalUnits(..)
   , lightTravelTime
+  , kmToAU
+  , auToKM
   , toDecimalHours
   , fromDecimalHours
   , toRadians
@@ -164,6 +166,21 @@
 -- | Light travel time of the distance in Astronomical Units
 lightTravelTime :: AstronomicalUnits -> DecimalHours
 lightTravelTime (AU ro) = DH $ 0.1386*ro
+
+
+kmInOneAU :: Double
+kmInOneAU = 149597870.700
+
+
+-- | Convert from kilometers to Astronomical Units
+kmToAU :: Double -> AstronomicalUnits
+kmToAU km = AU (km / kmInOneAU)
+
+
+-- | Comvert from Astronomical Units to kilometers
+auToKM :: AstronomicalUnits -> Double
+auToKM (AU au) = au * kmInOneAU
+
 
 -- | Convert from DecimalDegrees to Radians
 toRadians (DD deg) = U.toRadians deg
diff --git a/test/Data/Astro/MoonTest.hs b/test/Data/Astro/MoonTest.hs
--- a/test/Data/Astro/MoonTest.hs
+++ b/test/Data/Astro/MoonTest.hs
@@ -16,16 +16,23 @@
 import Data.Astro.TypesTest (testDecimalDegrees)
 import Data.Astro.CoordinateTest (testEC1)
 
+import Data.Astro.Types (GeographicCoordinates(..))
 import Data.Astro.Time.JulianDate (fromYMD)
 import Data.Astro.Coordinate (EquatorialCoordinates1(..))
 import Data.Astro.Moon.MoonDetails (MoonDetails(..), j2010MoonDetails, MoonDistanceUnits(..))
 import Data.Astro.Moon
 
-tests = [testGroup "moonPosition1"[
+tests = [testGroup "moonPosition1" [
             testEC1 "at 2003-09-01 00:00:00 UT"
                 0.000001
                 (EC1 (-11.525750) 14.211486)
                 (moonPosition1 j2010MoonDetails (fromYMD 2003 9 1))
+            ]
+         , testGroup "moonPosition2" [
+            testEC1 "at 2003-09-01 00:00:00 UT"
+                0.000001
+                (EC1 (-12.174888) 14.178731)
+                (moonPosition2 j2010MoonDetails (MDU 1) (GeoC 51 0) 20 (fromYMD 2003 9 1))
             ]
          , testGroup "moonDistance" [
             testMDU "at 2016-08-27 00:00:00"
diff --git a/test/Data/Astro/TypesTest.hs b/test/Data/Astro/TypesTest.hs
--- a/test/Data/Astro/TypesTest.hs
+++ b/test/Data/Astro/TypesTest.hs
@@ -55,6 +55,10 @@
           , testGroup "Light travel time" [
               testDecimalHours "7.7 AU" 0.0000001 1.06722 (lightTravelTime 7.7)
               ]
+          , testGroup "KM <-> AU" [
+              testCase "KM -> AU" $ assertApproxEqual "" 1e-5 (AU 7.8) (kmToAU 1166863391.46)
+              , testCase "AU -> KM" $ assertApproxEqual "" 1e-5 1166863391.46 (auToKM 7.8)
+              ]
           , testGroup "DD: standard typeclasses" [
               testCase "show" $ "DD 15.5" @=? show (DD 15.5)
               , testCase "showList" $ "[DD 15.3,DD 15.7]" @=? showList [DD 15.3, DD 15.7] ""
