incremental
diff --git a/boost-dbus/test/export_sample.py b/boost-dbus/test/export_sample.py
new file mode 100644
index 0000000..be8a04b
--- /dev/null
+++ b/boost-dbus/test/export_sample.py
@@ -0,0 +1,39 @@
+# Copyright (c) Benjamin Kietzman (github.com/bkietz)
+#
+# Distributed under the Boost Software License, Version 1.0. (See accompanying
+# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import dbus
+import dbus.service
+from dbus.mainloop.glib import DBusGMainLoop
+from gobject import MainLoop
+
+bus_name = 'com.example.Sample'
+
+class Example(dbus.service.Object):
+  def __init__(self, connection, path):
+    dbus.service.Object.__init__(self, connection, path)
+    self._last_input = None
+
+  @dbus.service.method(bus_name+'.Iface', in_signature='v', out_signature='s')
+  def StringifyVariant(self, var):
+    self.LastInputChanged(var)      # emits the signal
+    return str(var)
+
+  @dbus.service.signal(bus_name+'.Iface', signature='v')
+  def LastInputChanged(self, var):
+    # run just before the signal is actually emitted
+    # just put "pass" if nothing should happen
+    self._last_input = var
+
+  @dbus.service.method(bus_name+'.Iface', in_signature='', out_signature='v')
+  def GetLastInput(self):
+    return self._last_input
+
+bus = dbus.SessionBus(mainloop=DBusGMainLoop())
+bus.request_name(bus_name)
+
+example = Example(bus, '/path/to/obj')
+
+print bus.get_name_owner(bus_name)
+MainLoop().run()