diff --git a/Main.hs b/Main.hs
new file mode 100644
--- /dev/null
+++ b/Main.hs
@@ -0,0 +1,6 @@
+module Main where
+import Text.CaseConversion
+
+main = do
+       interact (unlines . map  (toCase Snake . fromCase Camel)  . lines ) 
+
diff --git a/case-conversion.cabal b/case-conversion.cabal
--- a/case-conversion.cabal
+++ b/case-conversion.cabal
@@ -1,62 +1,38 @@
--- case-conversion.cabal auto-generated by cabal init. For additional
--- options, see
--- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.
--- The name of the package.
-Name:                case-conversion
-
--- The package version. See the Haskell package versioning policy
--- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
--- standards guiding when and how versions should be incremented.
-Version:             0.1
-Cabal-Version:       >= 1.10
-
--- A short (one-line) description of the package.
-Synopsis:            Convert between different cases
-
--- A longer description of the package.
-Description:          Convert Between Snake,Camel and Spinal Case
-
--- URL for the project homepage or repository.
-Homepage:            www.xy30.com
-
--- The license under which the package is released.
-License:             BSD3
-
--- The file containing the license text.
-License-file:        LICENSE
-
--- The package author(s).
-Author:              Alan Hawkins
-
--- An email address to which users can send suggestions, bug reports,
--- and patches.
-Maintainer:          hawk.alan@gmail.com
-
--- A copyright notice.
--- Copyright:           
-
-Category:            Text
+name: case-conversion
+version: 0.2
+cabal-version: >=1.8
+build-type: Simple
+license: BSD3
+license-file: LICENSE
+maintainer: hawk.alan@gmail.com
+homepage: www.xy30.com
+synopsis: Convert between different cases
+description:
+    Convert Between Snake,Camel and Spinal Case
+category: Text
+author: Alan Hawkins
 
-Build-type:          Simple
+source-repository head
+    type: git
+    location: http://github.com/xpika/case-conversion.git
 
--- Extra files to be distributed with the package, such as examples or
--- a README.
--- Extra-source-files:  
+library
+    exposed-modules:
+        Text.CaseConversion
+    build-depends:
+        base >1 && <10000
 
--- Constraint on the version of Cabal needed to build this package.
-Cabal-version:       >=1.2
+executable case-converter
+    main-is: Main.hs
+    build-depends:
+        base >1 && <10000
 
+test-suite test
+    type: exitcode-stdio-1.0
+    main-is: Main.hs
+    build-depends:
+        base >1 && <10000,
+        HUnit -any,
+        case-conversion -any
+    hs-source-dirs: tests
 
-Library
-  -- Modules exported by the library.
-  Exposed-modules: Text.CaseConversion
-  
-  -- Packages needed in order to build this package.
-  Build-depends:  base > 1 && < 10
-  
-  -- Modules not exported by this package.
-  -- Other-modules:       
-  
-  -- Extra tools (e.g. alex, hsc2hs, ...) needed to build the source.
-  -- Build-tools:         
-  
diff --git a/tests/Main.hs b/tests/Main.hs
new file mode 100644
--- /dev/null
+++ b/tests/Main.hs
@@ -0,0 +1,19 @@
+module Main where
+
+import Text.CaseConversion
+import Test.HUnit
+
+test1 = TestCase $ assertEqual 
+  "test1" ["hello","World"] ( fromCamelCase "helloWorld" ) 
+  
+test2 = TestCase $ assertEqual 
+  "test2" "helloWorld" ( toCamelCase ["hello","World"] ) 
+  
+test3 = TestCase $ assertEqual 
+  "test3" "helloWorld" ( convertCase Snake Camel "hello_world") 
+
+main = runTestText (putTextToShowS) (TestList [test1,test2,test3])
+--main = runTestTT $ TestList [test1,test2,test3]
+
+
+
