diff --git a/Language/Atom/MSP430/Compile.hs b/Language/Atom/MSP430/Compile.hs
--- a/Language/Atom/MSP430/Compile.hs
+++ b/Language/Atom/MSP430/Compile.hs
@@ -29,6 +29,7 @@
 
 -- | Default program to construct your own programs from. Contains Nothing and generates a
 --   basic main.c. Use it by overriding the functions it generates, and optionally their names.
+mspProgram :: MSP430Compilation
 mspProgram = MSP430Compilation {
     setupFn = Nothing,
     setupFnName = "setup",
@@ -48,17 +49,20 @@
 
 -- | Easy settings for a Wiring-style program with setup and loop functions. Expects a device extension
 --   for header files - i.e. running with "g2231" wihh generate files that #include "msp430g2231.h"
+wiringProgram :: Atom () -> Atom () -> MSP430Compilation
 wiringProgram s l = mspProgram {
     setupFn = Just s,
     loopFn = Just l
  }
 
 -- | Easy settings for a program with just a setup function.
+simpleProgram :: Atom () -> MSP430Compilation
 simpleProgram s = mspProgram {
     setupFn = Just s
  }
 
 -- | Easy settings for a program with setup and loop, but no main function.
+energiaProgram :: Atom () -> Atom () -> MSP430Compilation
 energiaProgram s l = mspProgram {
     setupFn = Just s,
     loopFn = Just l,
diff --git a/atom-msp430.cabal b/atom-msp430.cabal
--- a/atom-msp430.cabal
+++ b/atom-msp430.cabal
@@ -1,5 +1,5 @@
 name:                atom-msp430
-version:             0.5.1
+version:             0.5.2
 synopsis:            Convenience functions for using Atom with the MSP430 microcontroller family.
 -- description:         
 homepage:            https://github.com/eightyeight/atom-msp430
@@ -19,6 +19,6 @@
                        Language.Atom.MSP430.TimerA,
                        Language.Atom.MSP430.Interrupts,
                        Language.Atom.MSP430.Compile
-  build-depends:       base ==4.5.*,
+  build-depends:       base >= 4.0 && < 5.0,
                        mtl,
                        atom >= 1.0.12
