diff --git a/src/XMMS2/Client/Bindings/Medialib.chs b/src/XMMS2/Client/Bindings/Medialib.chs
--- a/src/XMMS2/Client/Bindings/Medialib.chs
+++ b/src/XMMS2/Client/Bindings/Medialib.chs
@@ -24,6 +24,7 @@
   , medialibGetInfo
   , medialibGetId
   , medialibGetIdEncoded
+  , medialibRemoveEntry
   , medialibEntryPropertySetInt
   , medialibEntryPropertySetIntWithSource
   , medialibEntryPropertySetStr
@@ -74,6 +75,11 @@
 {# fun medialib_get_id_encoded as ^
  { withConnection* `Connection'
  , withCString*    `String'
+ } -> `Result' takeResult* #}
+
+{# fun medialib_remove_entry as ^
+ { withConnection* `Connection'
+ , cIntConv        `Int32'
  } -> `Result' takeResult* #}
 
 {# fun medialib_entry_property_set_int as ^
diff --git a/src/XMMS2/Client/Bindings/Playlist.chs b/src/XMMS2/Client/Bindings/Playlist.chs
--- a/src/XMMS2/Client/Bindings/Playlist.chs
+++ b/src/XMMS2/Client/Bindings/Playlist.chs
@@ -27,14 +27,21 @@
   , playlistRemoveEntry
   , playlistClear
   , playlistListEntries
+  , playlistSort
   , playlistSetNext
   , playlistSetNextRel
   , playlistMoveEntry
   , playlistCurrentPos
   , playlistCurrentActive
+  , playlistInsertFull
+  , playlistInsertURL
   , playlistInsertId
+  , playlistInsertEncoded
+  , playlistInsertCollection
   , playlistRAdd
   , playlistRAddEncoded
+  , playlistRInsert
+  , playlistRInsertEncoded
   , broadcastPlaylistChanged
   , broadcastPlaylistCurrentPos
   , broadcastPlaylistLoaded
@@ -106,6 +113,12 @@
    withMaybeCString* `Maybe String'
  } -> `Result' takeResult* #}
 
+{# fun playlist_sort as ^
+ { withConnection* `Connection'
+ , withMaybeCString* `Maybe String'
+ , withValue*      `Value'
+ } -> `Result' takeResult* #}
+
 {# fun playlist_set_next as ^
  { withConnection* `Connection' ,
    cIntConv        `Int32'
@@ -132,6 +145,21 @@
  { withConnection*   `Connection'
  } -> `Result' takeResult* #}
 
+{# fun playlist_insert_full as ^
+ { withConnection*   `Connection'
+ , withMaybeCString* `Maybe String'
+ , cIntConv          `Int'
+ , withCString*      `String'
+ , withValue*        `Value'
+ } -> `Result' takeResult* #}
+
+{# fun playlist_insert_url as playlistInsertURL
+ { withConnection*   `Connection'
+ , withMaybeCString* `Maybe String'
+ , cIntConv          `Int'
+ , withCString*      `String'
+ } -> `Result' takeResult* #}
+
 {# fun playlist_insert_id as ^
  { withConnection*   `Connection'
  , withMaybeCString* `Maybe String'
@@ -139,6 +167,21 @@
  , cIntConv          `Int32'
  } -> `Result' takeResult* #}
 
+{# fun playlist_insert_encoded as ^
+ { withConnection*   `Connection'
+ , withMaybeCString* `Maybe String'
+ , cIntConv          `Int'
+ , withCString*      `String'
+ } -> `Result' takeResult* #}
+
+{# fun playlist_insert_collection as ^
+ { withConnection*   `Connection'
+ , withMaybeCString* `Maybe String'
+ , cIntConv          `Int'
+ , withColl*         `Coll'
+ , withValue*        `Value'
+ } -> `Result' takeResult* #}
+
 {# fun playlist_radd as playlistRAdd
  { withConnection*   `Connection'   ,
    withMaybeCString* `Maybe String' ,
@@ -149,6 +192,20 @@
  { withConnection*   `Connection'   ,
    withMaybeCString* `Maybe String' ,
    withCString*      `String'
+ } -> `Result' takeResult* #}
+
+{# fun playlist_rinsert as playlistRInsert
+ { withConnection*   `Connection'
+ , withMaybeCString* `Maybe String'
+ , cIntConv          `Int'
+ , withCString*      `String'
+ } -> `Result' takeResult* #}
+
+{# fun playlist_rinsert_encoded as playlistRInsertEncoded
+ { withConnection*   `Connection'
+ , withMaybeCString* `Maybe String'
+ , cIntConv          `Int'
+ , withCString*      `String'
  } -> `Result' takeResult* #}
 
 
diff --git a/src/XMMS2/Client/Medialib.hs b/src/XMMS2/Client/Medialib.hs
--- a/src/XMMS2/Client/Medialib.hs
+++ b/src/XMMS2/Client/Medialib.hs
@@ -25,6 +25,7 @@
   , medialibGetInfo
   , medialibGetId
   , medialibGetIdEncoded
+  , medialibRemoveEntry
   , medialibEntryPropertySet
   , medialibEntryPropertyRemove
   , xformMediaBrowse
@@ -77,6 +78,13 @@
 medialibGetIdEncoded :: Connection -> String -> IO (Result Default Int32)
 medialibGetIdEncoded xmmsc url =
   liftResult $ B.medialibGetIdEncoded xmmsc url
+
+medialibRemoveEntry
+  :: Connection
+  -> MediaId
+  -> IO (Result Default ())
+medialibRemoveEntry xmmsc id =
+  liftResult $ B.medialibRemoveEntry xmmsc id
 
 medialibEntryPropertySet ::
   Connection             ->
diff --git a/src/XMMS2/Client/Playlist.hs b/src/XMMS2/Client/Playlist.hs
--- a/src/XMMS2/Client/Playlist.hs
+++ b/src/XMMS2/Client/Playlist.hs
@@ -32,14 +32,21 @@
   , playlistRemoveEntry
   , playlistClear
   , playlistListEntries
+  , playlistSort
   , playlistSetNext
   , playlistSetNextRel
   , playlistMoveEntry
   , playlistCurrentPos
   , playlistCurrentActive
+  , playlistInsertFull
+  , playlistInsertURL
   , playlistInsertId
+  , playlistInsertEncoded
+  , playlistInsertCollection
   , playlistRAdd
   , playlistRAddEncoded
+  , playlistRInsert
+  , playlistRInsertEncoded
 
     -- * Broadcasts
   , broadcastPlaylistChanged
@@ -206,6 +213,14 @@
 playlistListEntries xmmsc name =
   liftResult $ B.playlistListEntries xmmsc name
 
+playlistSort
+  :: Connection
+  -> Maybe String
+  -> [String]
+  -> IO (Result Default ())
+playlistSort xmmsc name order =
+  liftResult $ B.playlistSort xmmsc name =<< newList order
+
 playlistSetNext ::
   Connection    ->
   Int32         ->
@@ -245,6 +260,25 @@
 playlistCurrentActive xmmsc =
   liftResult $ B.playlistCurrentActive xmmsc
 
+playlistInsertFull
+  :: Connection
+  -> Maybe String
+  -> Int
+  -> URL
+  -> Dict String
+  -> IO (Result Default ())
+playlistInsertFull xmmsc name pos url args =
+  liftResult $ B.playlistInsertFull xmmsc name pos url =<< newDict args
+
+playlistInsertURL
+  :: Connection
+  -> Maybe String
+  -> Int
+  -> URL
+  -> IO (Result Default ())
+playlistInsertURL xmmsc name pos url =
+  liftResult $ B.playlistInsertURL xmmsc name pos url
+
 playlistInsertId ::
   Connection     ->
   Maybe String   ->
@@ -254,6 +288,26 @@
 playlistInsertId xmmsc name pos id =
   liftResult $ B.playlistInsertId xmmsc name pos id
 
+playlistInsertEncoded
+  :: Connection
+  -> Maybe String
+  -> Int
+  -> EncodedURL
+  -> IO (Result Default ())
+playlistInsertEncoded xmmsc name pos url =
+  liftResult $ B.playlistInsertEncoded xmmsc name pos url
+
+playlistInsertCollection
+  :: Connection
+  -> Maybe String
+  -> Int
+  -> Coll
+  -> [String]
+  -> IO (Result Default ())
+playlistInsertCollection xmmsc name pos coll order =
+  liftResult $ B.playlistInsertCollection xmmsc name pos coll =<< newList order
+
+
 playlistRAdd   ::
   Connection   ->
   Maybe String ->
@@ -269,6 +323,24 @@
   IO (Result Default ())
 playlistRAddEncoded xmmsc name url =
   liftResult $ B.playlistRAddEncoded xmmsc name url
+
+playlistRInsert
+  :: Connection
+  -> Maybe String
+  -> Int
+  -> URL
+  -> IO (Result Default ())
+playlistRInsert xmmsc name pos url =
+  liftResult $ B.playlistRInsert xmmsc name pos url
+
+playlistRInsertEncoded
+  :: Connection
+  -> Maybe String
+  -> Int
+  -> EncodedURL
+  -> IO (Result Default ())
+playlistRInsertEncoded xmmsc name pos url =
+  liftResult $ B.playlistRInsertEncoded xmmsc name pos url
 
 
 -------------
diff --git a/xmms2-client.cabal b/xmms2-client.cabal
--- a/xmms2-client.cabal
+++ b/xmms2-client.cabal
@@ -1,5 +1,5 @@
 name:               xmms2-client
-version:            0.0.4.0
+version:            0.0.5.0
 
 author:             Oleg Belozeorov
 maintainer:         Oleg Belozeorov <upwawet@gmail.com>
@@ -98,4 +98,4 @@
   type:             git
   location:         git://github.com/upwawet/xmms2hs.git
   subdir:           client
-  tag:              v0.0.4.0
+  tag:              v0.0.5.0
