diff --git a/Hungarian-Munkres.cabal b/Hungarian-Munkres.cabal
--- a/Hungarian-Munkres.cabal
+++ b/Hungarian-Munkres.cabal
@@ -2,8 +2,8 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                Hungarian-Munkres
-version:             0.1.0
-synopsis:            A linear Sum Assignment Problme (LSAP) solver
+version:             0.1.1
+synopsis:            A Linear Sum Assignment Problem (LSAP) solver
 description:         This library provide a Haskell binding to the libhungarian,
                      a solver for Linear Sum Assignment Problem (LSAP) implemented
                      in C language. It uses Hungarian algorithm 
@@ -13,7 +13,7 @@
 license-file:        LICENSE
 author:              Kai Zhang <kai@kzhang.org>
 maintainer:          Kai Zhang <kai@kzhang.org>
-copyright:           Kai Zhang
+copyright:           (c) 2014 Kai Zhang
 category:            Algorithm
 build-type:          Simple
 -- extra-source-files:  
diff --git a/cbits/hungarian.c b/cbits/hungarian.c
--- a/cbits/hungarian.c
+++ b/cbits/hungarian.c
@@ -33,11 +33,11 @@
 
 #define hungarian_test_alloc(X) do {if ((void *)(X) == NULL) fprintf(stderr, "Out of memory in %s, (%s, line %d).\n", __FUNCTION__, __FILE__, __LINE__); } while (0)
 
-int hungarian(double* data, int* result, int rows, int cols) {
+double hungarian(double* data, int* result, int rows, int cols) {
   int i,j;
   hungarian_problem_t p;
   int matrix_size = hungarian_init(&p, data , rows, cols, HUNGARIAN_MODE_MINIMIZE_COST) ;
-  hungarian_solve(&p);
+  double cost = hungarian_solve(&p);
 
   for(i=0;i<rows;i++)
       for(j=0;j<cols;j++)
@@ -45,7 +45,7 @@
 
   hungarian_free(&p);
 
-  return 0;
+  return cost;
 }
 
 
diff --git a/tests/tests.hs b/tests/tests.hs
--- a/tests/tests.hs
+++ b/tests/tests.hs
@@ -22,4 +22,4 @@
     [rows, cols] = take 2 $ randomRs (100, 150) g
 
 (~=) :: Double -> Double -> Bool
-(~=) a b = abs (a - b) < 1e-12
+(~=) a b = abs (a - b) <= 1.0e-12
