diff --git a/.hg_archival.txt b/.hg_archival.txt
new file mode 100644
--- /dev/null
+++ b/.hg_archival.txt
@@ -0,0 +1,2 @@
+repo: 98941e61c842f8b0ee8011f6a907f7e5f55fe0ac
+node: e78f6e286c68a17bdd4e10f04a2e864e1b5390a6
diff --git a/.hgtags b/.hgtags
new file mode 100644
--- /dev/null
+++ b/.hgtags
@@ -0,0 +1,1 @@
+8320ac5d2e07378ebe7d6568e5d87345dd1bdfe9 0.0.6
diff --git a/bindings-libusb.cabal b/bindings-libusb.cabal
--- a/bindings-libusb.cabal
+++ b/bindings-libusb.cabal
@@ -3,13 +3,15 @@
 homepage: http://bitbucket.org/mauricio/bindings
 synopsis:
   Check bindings-common package for directions.
-version: 0.0.5
+version: 0.0.6
 license: BSD3
 license-file: LICENSE
-maintainer: Maurício C. Antunes
+maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
 author: Maurício C. Antunes
 build-type: Simple
 category: FFI
+bug-reports: http://bitbucket.org/mauricio/bindings-libusb/issues
+stability: Needs users feedback
 library
   hs-source-dirs: src
   extensions:
diff --git a/src/Bindings/Libusb.hs b/src/Bindings/Libusb.hs
--- a/src/Bindings/Libusb.hs
+++ b/src/Bindings/Libusb.hs
@@ -8,6 +8,7 @@
     libusb_set_debug,
     libusb_init,
     libusb_exit,
+    ptr_libusb_exit,
 
     -- * Device handling and enumeration
 
@@ -22,6 +23,7 @@
     libusb_get_max_packet_size,
     libusb_ref_device,
     libusb_unref_device,
+    ptr_libusb_unref_device,
     libusb_open,
     libusb_open_device_with_vid_pid,
     libusb_close,
@@ -30,10 +32,12 @@
     libusb_set_configuration,
     libusb_claim_interface,
     libusb_release_interface,
+    libusb_set_interface_alt_setting,
     libusb_clear_halt,
     libusb_reset_device,
     libusb_kernel_driver_active,
     libusb_attach_kernel_driver,
+    libusb_detach_kernel_driver,
 
     -- * Miscellaneous
 
@@ -83,11 +87,11 @@
 
     -- | <http://libusb.sourceforge.net/api-1.0/group__desc.html>
 
-    Libusb_device_descriptor,
-    Libusb_endpoint_descriptor,
-    Libusb_interface_descriptor,
-    Libusb_interface,
-    Libusb_config_descriptor,
+    Libusb_device_descriptor(..),
+    Libusb_endpoint_descriptor(..),
+    Libusb_interface_descriptor(..),
+    Libusb_interface(..),
+    Libusb_config_descriptor(..),
     Libusb_class_code,
     _LIBUSB_CLASS_PER_INTERFACE,
     _LIBUSB_CLASS_AUDIO,
diff --git a/src/LibusbFunctions.hs b/src/LibusbFunctions.hs
--- a/src/LibusbFunctions.hs
+++ b/src/LibusbFunctions.hs
@@ -6,7 +6,7 @@
 import LibusbTypes
 
 foreign import ccall "libusb_set_debug" libusb_set_debug
-    :: Ptr Libusb_context -> CInt -> IO () ; 
+    :: Ptr Libusb_context -> CInt -> IO () ;
 
 foreign import ccall "libusb_init" libusb_init
     :: Ptr (Ptr Libusb_context) -> IO CInt
@@ -14,8 +14,11 @@
 foreign import ccall "libusb_exit" libusb_exit
     :: Ptr Libusb_context -> IO ()
 
+foreign import ccall "&libusb_exit" ptr_libusb_exit
+    :: FunPtr (Ptr Libusb_context -> IO ())
+
 foreign import ccall "libusb_get_device_list" libusb_get_device_list
-    :: Ptr Libusb_context -> Ptr (Ptr Libusb_device) -> IO CInt
+    :: Ptr Libusb_context -> Ptr (Ptr (Ptr Libusb_device)) -> IO CInt
 
 foreign import ccall "libusb_free_device_list" libusb_free_device_list
    :: Ptr (Ptr Libusb_device) -> CInt -> IO ()
@@ -37,6 +40,9 @@
 foreign import ccall "libusb_unref_device" libusb_unref_device
     :: Ptr Libusb_device -> IO ()
 
+foreign import ccall "&libusb_unref_device" ptr_libusb_unref_device
+    :: FunPtr (Ptr Libusb_device -> IO ())
+
 foreign import ccall "libusb_open" libusb_open
     :: Ptr Libusb_device -> Ptr (Ptr Libusb_device_handle) -> IO CInt
 
@@ -169,8 +175,8 @@
 
 foreign import ccall "libusb_fill_interrupt_transfer"
  libusb_fill_interrupt_transfer
-    :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar -> 
-       Ptr CUChar -> CInt -> FunPtr (Libusb_transfer_cb_fn a) -> 
+    :: Ptr (Libusb_transfer a) -> Ptr Libusb_device_handle -> CUChar ->
+       Ptr CUChar -> CInt -> FunPtr (Libusb_transfer_cb_fn a) ->
        Ptr a -> CUInt -> IO ()
 
 foreign import ccall "libusb_fill_iso_transfer"
