diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -127,3 +127,6 @@
 
 0.2.6.1:
 		added warning about data conversion to loadBDFRaw
+
+0.2.7:
+		Update build configuration : copied from hmatrix		
diff --git a/Config.hs b/Config.hs
deleted file mode 100644
--- a/Config.hs
+++ /dev/null
@@ -1,141 +0,0 @@
-{-
-    GSL and LAPACK may require auxiliary libraries which depend on OS,
-    distribution, and implementation. This script tries to to find out
-    the correct link command for your system.
-    Suggestions and contributions are welcome.
-
-    By default we try to link -lgsl -llapack. This works in ubuntu/debian,
-    both with and without ATLAS.
-    If this fails we try different sets of additional libraries which are
-    known to work in some systems.
-
-    The desired libraries can also be explicitly given by the user using cabal
-    flags (e.g., -fmkl, -faccelerate) or --configure-option=link:lib1,lib2,lib3,...
-
--}
-
-module Config(config) where
-
-import System.Process
-import System.Exit
-import System.Environment
-import System.Directory(createDirectoryIfMissing)
-import Data.List(isPrefixOf, intercalate)
-import Distribution.Simple.LocalBuildInfo
-import Distribution.Simple.Configure
-import Distribution.PackageDescription
-
--- possible additional dependencies for the desired libs (by default gsl lapack)
-
-opts = [ ""                              -- Ubuntu/Debian
-       , "blas"
-       , "blas cblas"
-       , "cblas"
-       , "gslcblas"
-       , "blas gslcblas"
-       , "f77blas"
-       , "f77blas cblas atlas gcc_s"     -- Arch Linux (older version of atlas-lapack)
-       , "blas gslcblas gfortran"        -- Arch Linux with normal blas and lapack
-       ]
-
--- compile a simple program with symbols from GSL and LAPACK with the given libs
-testprog bInfo buildInfo libs fmks =
-    "echo \"#include <gsl/gsl_sf_gamma.h>\nint main(){zgesvd_(); gsl_sf_gamma(5);}\""
-                     ++" > " ++ (buildDir bInfo) ++ "/dummy.c; gcc "
-                     ++ (join_ $ ccOptions buildInfo) ++ " "
-                     ++ (join_ $ cppOptions buildInfo) ++ " "
-                     ++ (join_ $ map ("-I"++) $ includeDirs buildInfo) ++ " " 
-                     ++ (buildDir bInfo) ++ "/dummy.c -o "
-                     ++ (buildDir bInfo) ++ "/dummy "
-                     ++ (join_ $ map ("-L"++) $ extraLibDirs buildInfo) ++ " "
-                     ++ (prepend "-l" $ libs) ++ " "
-                     ++ (prepend "-framework " fmks) ++ " > /dev/null 2> /dev/null"
-
-join_ = intercalate " "
-prepend x = unwords . map (x++) . words
-
-check bInfo buildInfo libs fmks = (ExitSuccess ==) `fmap` system (testprog bInfo buildInfo libs fmks)
-
--- simple test for GSL
-gsl bInfo buildInfo = "echo \"#include <gsl/gsl_sf_gamma.h>\nint main(){gsl_sf_gamma(5);}\""
-           ++" > " ++ (buildDir bInfo) ++ "/dummy.c; gcc "
-           ++ (join_ $ ccOptions buildInfo) ++ " "
-           ++ (join_ $ cppOptions buildInfo) ++ " "
-           ++ (join_ $ map ("-I"++) $ includeDirs buildInfo) ++ " " 
-           ++ (buildDir bInfo) ++ "/dummy.c -o "
-           ++ (buildDir bInfo) ++ "/dummy "
-           ++ (join_ $ map ("-L"++) $ extraLibDirs buildInfo) ++ " -lgsl -lgslcblas"
-           ++ " > /dev/null 2> /dev/null"
-
--- test for gsl >= 1.12
-gsl112 bInfo buildInfo =
-    "echo \"#include <gsl/gsl_sf_exp.h>\nint main(){gsl_sf_exprel_n_CF_e(1,1,0);}\""
-           ++" > " ++ (buildDir bInfo) ++ "/dummy.c; gcc " 
-           ++ (buildDir bInfo) ++ "/dummy.c "
-           ++ (join_ $ ccOptions buildInfo) ++ " "
-           ++ (join_ $ cppOptions buildInfo) ++ " "
-           ++ (join_ $ map ("-I"++) $ includeDirs buildInfo)
-           ++" -o " ++ (buildDir bInfo) ++ "/dummy "
-           ++ (join_ $ map ("-L"++) $ extraLibDirs buildInfo) ++ " -lgsl -lgslcblas"
-           ++ " > /dev/null 2> /dev/null"
-
-
-checkCommand c = (ExitSuccess ==) `fmap` system c
-
--- test different configurations until the first one works
-try _ _ _ _ [] = return Nothing
-try l i b f (opt:rest) = do
-    ok <- check l i (b ++ " " ++ opt) f
-    if ok then return (Just opt)
-          else try l i b f rest
-
--- read --configure-option=link:lib1,lib2,lib3,etc
-linkop = "link:"
-getUserLink = concatMap (g . drop (length linkop)) . filter (isPrefixOf linkop)
-    where g = map cs
-          cs ',' = ' '
-          cs x   = x
-
-config :: LocalBuildInfo -> IO HookedBuildInfo
-          
-config bInfo = do
-    putStr "Checking foreign libraries..."
-    args <- getArgs
-
-    let Just lib = library . localPkgDescr $ bInfo
-        buildInfo = libBuildInfo lib
-        base = unwords . extraLibs $ buildInfo
-        fwks = unwords . frameworks $ buildInfo
-        auxpref = getUserLink args
-
-    -- We extract the desired libs from hmatrix.cabal (using a cabal flags)
-    -- and from a posible --configure-option=link:lib1,lib2,lib3
-    -- by default the desired libs are gsl lapack.
-
-    let pref = if null (words (base ++ " " ++ auxpref)) then "gsl lapack" else auxpref
-        fullOpts = map ((pref++" ")++) opts
-
-    -- create the build directory (used for tmp files) if necessary
-    createDirectoryIfMissing True $ buildDir bInfo
-    
-    r <- try bInfo buildInfo base fwks fullOpts
-
-    case r of
-        Nothing -> do
-            putStrLn " FAIL"
-            g  <- checkCommand $ gsl bInfo buildInfo
-            if g
-                then putStrLn " *** Sorry, I can't link LAPACK."
-                else putStrLn " *** Sorry, I can't link GSL."
-            putStrLn " *** Please make sure that the appropriate -dev packages are installed."
-            putStrLn " *** You can also specify the required libraries using"
-            putStrLn " *** cabal install hmatrix --configure-option=link:lib1,lib2,lib3,etc."            
-            return (Just emptyBuildInfo { buildable = False }, [])
-        Just ops -> do
-            putStrLn $ " OK " ++ ops
-            g <- checkCommand $ gsl112 bInfo buildInfo
-            let hbi = if g
-                        then emptyBuildInfo { extraLibs = words ops}
-                        else emptyBuildInfo { extraLibs = words ops, ccOptions = ["-DGSL110"]}
-            return (Just hbi, [])
-
diff --git a/hsignal.cabal b/hsignal.cabal
--- a/hsignal.cabal
+++ b/hsignal.cabal
@@ -1,8 +1,8 @@
 Name:               hsignal
-Version:            0.2.6.1
+Version:            0.2.7
 License:            BSD3
 License-file:       LICENSE
-Copyright:          (c) A.V.H. McPhail 2010, 2011, 2014
+Copyright:          (c) A.V.H. McPhail 2010, 2011, 2014, 2105
 Author:             Vivian McPhail
 Maintainer:         haskell.vivian.mcphail <at> gmail <dot> com
 Stability:          provisional
@@ -17,17 +17,17 @@
      .
      Feature requests, suggestions, and bug fixes welcome.
 Category:           Math
-tested-with:        GHC ==7.8.1
+tested-with:        GHC ==7.10.1
 
 cabal-version:      >=1.8
 
-build-type:         Custom
+build-type:         Simple
 
-extra-source-files: Config.hs README INSTALL CHANGES
+extra-source-files: README INSTALL CHANGES
 extra-tmp-files:    hsignal.buildinfo
 
-flag mkl
-    description:    Link with Intel's MKL optimized libraries.
+flag openblas
+    description:    Link with OpenBLAS (https://github.com/xianyi/OpenBLAS) optimized libraries.
     default:        False
 
 library
@@ -59,27 +59,34 @@
                               -fno-warn-orphans
                               -fno-warn-unused-binds
 
+    cc-options:         -O4 -msse2 -Wall
 
-    if flag(mkl)
-      if arch(x86_64)
-        extra-libraries:   gsl mkl_lapack mkl_intel_lp64 mkl_sequential mkl_core
-      else
-        extra-libraries:   gsl mkl_lapack mkl_intel mkl_sequential mkl_core
+    if flag(openblas)
+        extra-lib-dirs:     /usr/lib/openblas/lib    
+        extra-libraries:    openblas
+    else 
+        extra-libraries:    blas lapack
 
     if os(OSX)
         extra-lib-dirs: /opt/local/lib/
         include-dirs: /opt/local/include/
-        extra-libraries: gsl
+        extra-lib-dirs: /usr/local/lib/
+        include-dirs: /usr/local/include/
+        if arch(i386)
+            cc-options: -arch i386
         frameworks: Accelerate
 
-    if os(windows)
-        extra-libraries: gsl-0 blas lapack
+    if os(freebsd)
+       extra-lib-dirs: /usr/local/lib
+       include-dirs: /usr/local/include
+       extra-libraries: blas lapack gfortran
 
--- The extra-libraries required for GSL
--- should now be automatically detected by configure(.hs)
+    if os(windows)
+        extra-libraries: blas lapack
 
-    extra-libraries:
-    extra-lib-dirs:
+    if os(linux)
+        if arch(x86_64)
+            cc-options: -fPIC
 
 source-repository head
     type:     git
