diff --git a/Graphics/UI/SDL/Primitives.hs b/Graphics/UI/SDL/Primitives.hs
--- a/Graphics/UI/SDL/Primitives.hs
+++ b/Graphics/UI/SDL/Primitives.hs
@@ -43,7 +43,6 @@
 import Graphics.UI.SDL.General
 import Graphics.UI.SDL.Types
 import Graphics.UI.SDL.Color
-import Graphics.UI.SDL.Rect
 import Graphics.UI.SDL.Utilities (Enum(..), intToBool, toBitmask, fromCInt, toCInt)
 
 foreign import ccall unsafe "pixelColor" gfxPixelColor :: Ptr SurfaceStruct -> Int16 -> Int16 -> Word32 -> IO CInt
@@ -66,21 +65,21 @@
  
 foreign import ccall unsafe "rectangleColor" gfxRectangleColor :: Ptr SurfaceStruct -> Int16 -> Int16 -> Int16 -> Int16 -> Word32 -> IO CInt
 
-rectangle :: Surface -> Rect -> Pixel -> IO Bool
-rectangle surface (Rect x y w h) (Pixel c) = withForeignPtr surface $ \ptr -> 
-                                             intToBool (-1) (fmap fromCInt $ gfxRectangleColor ptr (fromIntegral x) (fromIntegral y) (fromIntegral w) (fromIntegral h) c)
+rectangle :: Surface -> Int16 -> Int16 -> Int16 -> Int16 -> Pixel -> IO Bool
+rectangle surface x1 y1 x2 y2 (Pixel c) = withForeignPtr surface $ \ptr ->
+                                             intToBool (-1) (fmap fromCInt $ gfxRectangleColor ptr (fromIntegral x1) (fromIntegral y1) (fromIntegral x2) (fromIntegral y2) c)
 
 foreign import ccall unsafe "boxColor" gfxBoxColor :: Ptr SurfaceStruct -> Int16 -> Int16 -> Int16 -> Int16 -> Word32 -> IO CInt
 
-box :: Surface -> Rect -> Pixel -> IO Bool
-box surface (Rect x y w h) (Pixel c) = withForeignPtr surface $ \ptr -> 
-                                       intToBool (-1) (fmap fromCInt $ gfxBoxColor ptr (fromIntegral x) (fromIntegral y) (fromIntegral w) (fromIntegral h) c)
+box :: Surface -> Int16 -> Int16 -> Int16 -> Int16  -> Pixel -> IO Bool
+box surface x1 y1 x2 y2 (Pixel c) = withForeignPtr surface $ \ptr ->
+                                       intToBool (-1) (fmap fromCInt $ gfxBoxColor ptr (fromIntegral x1) (fromIntegral y1) (fromIntegral x2) (fromIntegral y2) c)
 
 foreign import ccall unsafe "roundedBoxColor" gfxRoundedBoxColor :: Ptr SurfaceStruct -> Int16 -> Int16 -> Int16 -> Int16 -> Int16 -> Word32 -> IO CInt
 
-roundedBox :: Surface -> Rect -> Int16 -> Pixel -> IO Bool
-roundedBox surface (Rect x y w h) rad (Pixel c) = withForeignPtr surface $ \ptr ->
-                                                  intToBool (-1) (fmap fromCInt $ gfxRoundedBoxColor ptr (fromIntegral x) (fromIntegral y) (fromIntegral w) (fromIntegral h) rad c)
+roundedBox :: Surface -> Int16 -> Int16 -> Int16 -> Int16 -> Int16 -> Pixel -> IO Bool
+roundedBox surface x1 y1 x2 y2 rad (Pixel c) = withForeignPtr surface $ \ptr ->
+                                                  intToBool (-1) (fmap fromCInt $ gfxRoundedBoxColor ptr (fromIntegral x1) (fromIntegral y1) (fromIntegral x2) (fromIntegral x2) rad c)
 
 foreign import ccall unsafe "lineColor" gfxLineColor :: Ptr SurfaceStruct -> Int16 -> Int16 -> Int16 -> Int16 -> Word32 -> IO CInt
 
diff --git a/SDL-gfx.cabal b/SDL-gfx.cabal
--- a/SDL-gfx.cabal
+++ b/SDL-gfx.cabal
@@ -1,9 +1,9 @@
 Cabal-Version:      >= 1.6
 Name:               SDL-gfx
-Version:            0.6.2.0
+Version:            0.7.0.0
 Maintainer:         Francesco Ariis <fa-ml@ariis.it>
 Author:             Lemmih (lemmih@gmail.com)
-Copyright:          2004-2005, 2010, Lemmih
+Copyright:          2004-2005, 2010, 2018 Lemmih et al.
 License-File:       LICENSE
 License:            BSD3
 Build-Type:         Custom
