diff --git a/stringtable-atom.cabal b/stringtable-atom.cabal
--- a/stringtable-atom.cabal
+++ b/stringtable-atom.cabal
@@ -1,5 +1,5 @@
 Name:                stringtable-atom
-Version:             0.0.5
+Version:             0.0.6
 Category:            Data, Pugs
 Synopsis:            Memoize Strings as Atoms for fast comparison and sorting, with maps and sets
 Description:         Memoize Strings as Atoms for fast comparison and sorting, with maps and sets
@@ -8,18 +8,29 @@
 Author:              John Meacham
 Maintainer:          audreyt@audreyt.org
 Copyright:           John Meacham 2008, Audrey Tang 2008
-Exposed-modules:     StringTable.Atom StringTable.AtomMap StringTable.AtomSet
 
-Build-Depends:       base<4, bytestring>=0.9.0.1, binary, containers
+Cabal-version:       >= 1.2
+Extra-source-files:  cbits/StringTable_cbits.h
+
 Build-Type:          Simple
 Tested-With:         GHC==6.8.2, GHC==6.8.3, GHC==6.10.1
 
-extensions:          ForeignFunctionInterface, TypeSynonymInstances,
-                     DeriveDataTypeable, FlexibleInstances,
-                     GeneralizedNewtypeDeriving
+Flag SybInBase
+    Description: syb was split from base >= 4 
+    Default: False
 
-c-sources:           cbits/StringTable_cbits.c
-extra-source-files:  cbits/StringTable_cbits.h
-include-dirs:        cbits
-cc-options:          -O2 -std=c99
-hs-source-dirs:      src
+Library
+    if flag(SybInBase)
+        Build-Depends: base>=3 && <4, bytestring>=0.9.0.1, binary, containers
+    else
+        Build-Depends: base>=4, bytestring>=0.9.0.1, binary, containers, syb
+        
+    Exposed-modules:    StringTable.Atom StringTable.AtomMap StringTable.AtomSet
+
+    Extensions:         ForeignFunctionInterface, TypeSynonymInstances,
+                        DeriveDataTypeable, FlexibleInstances,
+                        GeneralizedNewtypeDeriving
+    C-sources:           cbits/StringTable_cbits.c
+    Include-dirs:        cbits
+    Cc-options:          -O2 -std=c99
+    Hs-source-dirs:      src
