[Pkg-cli-libs-commits] [gtk-sharp3] 01/03: Imported Upstream version 2.99.2

Mirco Bauer meebey at moszumanska.debian.org
Wed Dec 4 22:59:00 UTC 2013


This is an automated email from the git hooks/post-receive script.

meebey pushed a commit to branch master
in repository gtk-sharp3.

commit 82278b444d46d96c45726c5abc278b0392806005
Author: Mirco Bauer <meebey at meebey.net>
Date:   Wed Dec 4 22:47:48 2013 +0100

    Imported Upstream version 2.99.2
---
 Makefile.in                                        |    2 +-
 Makefile.include                                   |    6 +-
 NEWS                                               |   59 +
 README                                             |    6 +-
 aclocal.m4                                         |    6 +-
 atk/Atk.metadata                                   |    4 +
 atk/Makefile.in                                    |    8 +-
 atk/glue/Makefile.in                               |    2 +-
 cairo/Context.cs                                   |  159 +-
 cairo/Device.cs                                    |   23 +-
 cairo/FontFace.cs                                  |   18 +-
 cairo/FontOptions.cs                               |   58 +-
 cairo/Gradient.cs                                  |    3 +
 cairo/ImageSurface.cs                              |   20 +-
 cairo/LinearGradient.cs                            |    1 +
 cairo/Makefile.in                                  |    2 +-
 cairo/PSSurface.cs                                 |    4 +
 cairo/Path.cs                                      |    5 +-
 cairo/Pattern.cs                                   |   34 +-
 cairo/PdfSurface.cs                                |    1 +
 cairo/Region.cs                                    |   39 +-
 cairo/ScaledFont.cs                                |   21 +-
 cairo/SolidPattern.cs                              |    1 +
 cairo/Surface.cs                                   |   39 +-
 cairo/SurfacePattern.cs                            |   10 +-
 cairo/SvgSurface.cs                                |    1 +
 cairo/XcbSurface.cs                                |    1 +
 cairo/XlibSurface.cs                               |   37 +-
 config.guess                                       |  184 +-
 config.sub                                         |   97 +-
 configure                                          |   35 +-
 configure.ac                                       |   11 +-
 depcomp                                            |    3 +-
 doc/Makefile.in                                    |    2 +-
 doc/en/Atk/Action.xml                              |  181 --
 doc/en/Atk/ActionAdapter.xml                       |   50 +-
 doc/en/Atk/ActiveDescendantChangedHandler.xml      |    4 +-
 doc/en/Atk/BoundsChangedHandler.xml                |    4 +-
 doc/en/Atk/ChildrenChangedHandler.xml              |    4 +-
 doc/en/Atk/ColumnDeletedHandler.xml                |    4 +-
 doc/en/Atk/ColumnInsertedHandler.xml               |    4 +-
 doc/en/Atk/Component.xml                           |  357 ----
 doc/en/Atk/ComponentAdapter.xml                    |   50 +-
 doc/en/Atk/DocumentAdapter.xml                     |   50 +-
 doc/en/Atk/EditableTextAdapter.xml                 |   50 +-
 doc/en/Atk/FocusEventHandler.xml                   |    4 +-
 doc/en/Atk/Hyperlink.xml                           |    6 +-
 doc/en/Atk/HyperlinkImplAdapter.xml                |   50 +-
 doc/en/Atk/HypertextAdapter.xml                    |   50 +-
 doc/en/Atk/{ActionImplementor.xml => IAction.xml}  |   24 +-
 ...ctionImplementor.xml => IActionImplementor.xml} |   19 +-
 .../{ComponentImplementor.xml => IComponent.xml}   |   44 +-
 ...ntImplementor.xml => IComponentImplementor.xml} |   26 +-
 doc/en/Atk/{Document.xml => IDocument.xml}         |   42 +-
 ...entImplementor.xml => IDocumentImplementor.xml} |   18 +-
 ...itableTextImplementor.xml => IEditableText.xml} |   24 +-
 ...itableText.xml => IEditableTextImplementor.xml} |  108 +-
 .../Atk/{HyperlinkImpl.xml => IHyperlinkImpl.xml}  |   19 +-
 ...plementor.xml => IHyperlinkImplImplementor.xml} |   13 +-
 doc/en/Atk/{Hypertext.xml => IHypertext.xml}       |   47 +-
 ...xtImplementor.xml => IHypertextImplementor.xml} |   15 +-
 doc/en/Atk/{Image.xml => IImage.xml}               |   85 +-
 ...{ImageImplementor.xml => IImageImplementor.xml} |   17 +-
 doc/en/Atk/{Implementor.xml => IImplementor.xml}   |   21 +-
 ...Implementor.xml => IImplementorImplementor.xml} |   13 +-
 .../{SelectionImplementor.xml => ISelection.xml}   |   37 +-
 ...onImplementor.xml => ISelectionImplementor.xml} |   19 +-
 ...treamableContent.xml => IStreamableContent.xml} |   41 +-
 ...entor.xml => IStreamableContentImplementor.xml} |   16 +-
 doc/en/Atk/{Table.xml => ITable.xml}               |  315 +--
 ...{TableImplementor.xml => ITableImplementor.xml} |   39 +-
 doc/en/Atk/{TextImplementor.xml => IText.xml}      |   95 +-
 .../{TextImplementor.xml => ITextImplementor.xml}  |   29 +-
 doc/en/Atk/{Value.xml => IValue.xml}               |   26 +-
 ...{ValueImplementor.xml => IValueImplementor.xml} |   13 +-
 doc/en/Atk/ImageAdapter.xml                        |   50 +-
 doc/en/Atk/ImplementorAdapter.xml                  |   50 +-
 doc/en/Atk/LinkSelectedHandler.xml                 |    4 +-
 doc/en/Atk/Misc.xml                                |   12 +-
 doc/en/Atk/NoOpObject.xml                          |   48 +-
 doc/en/Atk/Object+ChildrenChangedDetail.xml        |   41 +
 doc/en/Atk/Plug.xml                                |   22 +-
 doc/en/Atk/PropertyChangeEventHandler.xml          |    4 +-
 doc/en/Atk/RowDeletedHandler.xml                   |    4 +-
 doc/en/Atk/RowInsertedHandler.xml                  |    4 +-
 doc/en/Atk/Selection.xml                           |  193 --
 doc/en/Atk/SelectionAdapter.xml                    |   50 +-
 doc/en/Atk/Socket.xml                              |   22 +-
 doc/en/Atk/StateChangeHandler.xml                  |    4 +-
 doc/en/Atk/StreamableContentAdapter.xml            |   50 +-
 doc/en/Atk/TableAdapter.xml                        |   50 +-
 doc/en/Atk/Text.xml                                |  555 -----
 doc/en/Atk/TextAdapter.xml                         |   50 +-
 doc/en/Atk/TextCaretMovedHandler.xml               |    4 +-
 doc/en/Atk/TextChangedHandler.xml                  |    4 +-
 doc/en/Atk/ValueAdapter.xml                        |   50 +-
 doc/en/GLib/AcceptCertificateArgs.xml              |   10 +-
 doc/en/GLib/AcceptCertificateHandler.xml           |   12 +-
 doc/en/GLib/ActionAdapter.xml                      |   48 +-
 doc/en/GLib/ActionAddedArgs.xml                    |   24 +-
 doc/en/GLib/ActionAddedHandler.xml                 |   26 +-
 doc/en/GLib/ActionEnabledChangedArgs.xml           |   24 +-
 doc/en/GLib/ActionEnabledChangedHandler.xml        |   26 +-
 doc/en/GLib/ActionGroupAdapter.xml                 |   48 +-
 doc/en/GLib/ActionRemovedArgs.xml                  |   24 +-
 doc/en/GLib/ActionRemovedHandler.xml               |   26 +-
 doc/en/GLib/ActionStateChangedArgs.xml             |   24 +-
 doc/en/GLib/ActionStateChangedHandler.xml          |   26 +-
 doc/en/GLib/ActivatedArgs.xml                      |   10 +-
 doc/en/GLib/ActivatedHandler.xml                   |   12 +-
 doc/en/GLib/AppInfoAdapter.xml                     |  138 +-
 doc/en/GLib/AppLaunchContext.xml                   |   64 +-
 doc/en/GLib/Application.xml                        |   68 +-
 doc/en/GLib/ApplicationCommandLine.xml             |   12 +-
 doc/en/GLib/ApplicationFlags.xml                   |   24 +-
 doc/en/GLib/ApplicationImpl.xml                    |    6 +-
 doc/en/GLib/AskPasswordHandler.xml                 |    4 +-
 doc/en/GLib/AskQuestionArgs.xml                    |    4 +-
 doc/en/GLib/AskQuestionHandler.xml                 |    4 +-
 doc/en/GLib/AsyncInitableAdapter.xml               |   54 +-
 doc/en/GLib/AsyncReadyCallback.xml                 |    4 +-
 doc/en/GLib/AsyncResultAdapter.xml                 |   54 +-
 doc/en/GLib/AuthenticatedPeerAuthorizedArgs.xml    |   10 +-
 doc/en/GLib/AuthenticatedPeerAuthorizedHandler.xml |   12 +-
 doc/en/GLib/BufferedInputStream.xml                |   28 +-
 doc/en/GLib/BufferedOutputStream.xml               |   12 +-
 doc/en/GLib/Bus.xml                                |    6 +-
 doc/en/GLib/Cancellable.xml                        |   49 +-
 doc/en/GLib/ChangeEventArgs.xml                    |   10 +-
 doc/en/GLib/ChangeEventHandler.xml                 |   12 +-
 doc/en/GLib/ChangedArgs.xml                        |   24 +-
 doc/en/GLib/ChangedHandler.xml                     |   26 +-
 doc/en/GLib/CharsetConverter.xml                   |   20 +-
 doc/en/GLib/ClosedArgs.xml                         |   10 +-
 doc/en/GLib/ClosedHandler.xml                      |   12 +-
 doc/en/GLib/CommandLineArgs.xml                    |   10 +-
 doc/en/GLib/CommandLineHandler.xml                 |   12 +-
 doc/en/GLib/{Credentials.xml => Cond.xml}          |  102 +-
 doc/en/GLib/{Content.xml => ContentType.xml}       |  111 +-
 doc/en/GLib/ConverterAdapter.xml                   |   48 +-
 doc/en/GLib/ConverterInputStream.xml               |   24 +-
 doc/en/GLib/ConverterOutputStream.xml              |   24 +-
 doc/en/GLib/Credentials.xml                        |   12 +-
 doc/en/GLib/{Dbus.xml => DBus.xml}                 |  174 +-
 doc/en/GLib/DBusAuth.xml                           |   21 +-
 doc/en/GLib/DBusAuthMechanism.xml                  |   25 +-
 doc/en/GLib/DBusAuthMechanismAnon.xml              |    6 +-
 doc/en/GLib/DBusAuthMechanismExternal.xml          |    6 +-
 doc/en/GLib/DBusAuthMechanismSha1.xml              |    6 +-
 doc/en/GLib/DBusAuthObserver.xml                   |   16 +-
 doc/en/GLib/DBusConnection.xml                     |   76 +-
 doc/en/GLib/DBusMessage.xml                        |   12 +-
 doc/en/GLib/DBusMethodInvocation.xml               |   12 +-
 doc/en/GLib/DBusProxy.xml                          |  109 +-
 doc/en/GLib/DBusServer.xml                         |   46 +-
 doc/en/GLib/DataInputStream.xml                    |   30 +-
 doc/en/GLib/DataOutputStream.xml                   |   12 +-
 doc/en/GLib/Date.xml                               |  787 +++++++
 doc/en/GLib/DateTime.xml                           |  854 ++++++++
 doc/en/GLib/DesktopAppInfo.xml                     |   40 +-
 doc/en/GLib/DriveAdapter.xml                       |   86 +-
 doc/en/GLib/DriveChangedArgs.xml                   |   16 +-
 doc/en/GLib/DriveChangedHandler.xml                |   12 +-
 doc/en/GLib/DriveConnectedArgs.xml                 |   16 +-
 doc/en/GLib/DriveConnectedHandler.xml              |   12 +-
 doc/en/GLib/DriveDisconnectedArgs.xml              |   16 +-
 doc/en/GLib/DriveDisconnectedHandler.xml           |   12 +-
 doc/en/GLib/DriveEjectButtonArgs.xml               |   16 +-
 doc/en/GLib/DriveEjectButtonHandler.xml            |   12 +-
 doc/en/GLib/DriveStopButtonArgs.xml                |   16 +-
 doc/en/GLib/DriveStopButtonHandler.xml             |   12 +-
 doc/en/GLib/DummyProxyResolver.xml                 |   18 +-
 doc/en/GLib/Emblem.xml                             |   48 +-
 doc/en/GLib/EmblemedIcon.xml                       |   52 +-
 doc/en/GLib/FileAdapter.xml                        |  370 ++--
 doc/en/GLib/FileDescriptorBasedAdapter.xml         |   48 +-
 doc/en/GLib/FileEnumerator.xml                     |   77 +-
 doc/en/GLib/FileFactory.xml                        |   30 +-
 doc/en/GLib/FileIOStream.xml                       |   30 +-
 doc/en/GLib/FileIcon.xml                           |   50 +-
 doc/en/GLib/FileInfo.xml                           |   18 +-
 doc/en/GLib/FileInputStream.xml                    |   34 +-
 doc/en/GLib/FileMonitor.xml                        |   52 +-
 doc/en/GLib/FileOutputStream.xml                   |   34 +-
 doc/en/GLib/FilenameCompleter.xml                  |   16 +-
 doc/en/GLib/FilterInputStream.xml                  |   12 +-
 doc/en/GLib/FilterOutputStream.xml                 |   12 +-
 doc/en/GLib/GInterfaceAdapter.xml                  |   13 +-
 doc/en/GLib/GLibSynchronizationContext.xml         |   67 +
 doc/en/GLib/GPropertiesChangedArgs.xml             |   10 +-
 doc/en/GLib/GPropertiesChangedHandler.xml          |   12 +-
 doc/en/GLib/GSignalArgs.xml                        |   10 +-
 doc/en/GLib/GSignalHandler.xml                     |   12 +-
 doc/en/GLib/GioGlobal.xml                          |   26 +-
 doc/en/GLib/{Action.xml => IAction.xml}            |    6 +-
 doc/en/GLib/{ActionGroup.xml => IActionGroup.xml}  |    6 +-
 ...Implementor.xml => IActionGroupImplementor.xml} |    6 +-
 ...ctionImplementor.xml => IActionImplementor.xml} |    6 +-
 doc/en/GLib/{AppInfo.xml => IAppInfo.xml}          |  191 +-
 .../GLib/{AsyncInitable.xml => IAsyncInitable.xml} |   12 +-
 ...plementor.xml => IAsyncInitableImplementor.xml} |   12 +-
 doc/en/GLib/{AsyncResult.xml => IAsyncResult.xml}  |   12 +-
 ...Implementor.xml => IAsyncResultImplementor.xml} |   12 +-
 doc/en/GLib/{Converter.xml => IConverter.xml}      |    6 +-
 ...erImplementor.xml => IConverterImplementor.xml} |    6 +-
 doc/en/GLib/{Drive.xml => IDrive.xml}              |   86 +-
 doc/en/GLib/{File.xml => IFile.xml}                |  438 ++--
 ...escriptorBased.xml => IFileDescriptorBased.xml} |    6 +-
 ...tor.xml => IFileDescriptorBasedImplementor.xml} |    6 +-
 doc/en/GLib/{Icon.xml => IIcon.xml}                |   16 +-
 doc/en/GLib/{Initable.xml => IInitable.xml}        |    6 +-
 ...bleImplementor.xml => IInitableImplementor.xml} |    6 +-
 .../GLib/{LoadableIcon.xml => ILoadableIcon.xml}   |   20 +-
 ...mplementor.xml => ILoadableIconImplementor.xml} |   20 +-
 doc/en/GLib/{Mount.xml => IMount.xml}              |  108 +-
 doc/en/GLib/{GioGlobal.xml => IOError.xml}         |   34 +-
 doc/en/GLib/IOExtensionPoint.xml                   |    6 +-
 doc/en/GLib/IOModule.xml                           |   47 +-
 doc/en/GLib/IOSchedulerJob.xml                     |   37 +
 doc/en/GLib/IOStream.xml                           |   30 +-
 ...bleInputStream.xml => IPollableInputStream.xml} |   24 +-
 ...tor.xml => IPollableInputStreamImplementor.xml} |   24 +-
 ...eOutputStream.xml => IPollableOutputStream.xml} |   24 +-
 ...or.xml => IPollableOutputStreamImplementor.xml} |   24 +-
 doc/en/GLib/{Proxy.xml => IProxy.xml}              |   12 +-
 ...{ProxyImplementor.xml => IProxyImplementor.xml} |   12 +-
 .../GLib/{ProxyResolver.xml => IProxyResolver.xml} |   12 +-
 ...plementor.xml => IProxyResolverImplementor.xml} |   12 +-
 doc/en/GLib/{Seekable.xml => ISeekable.xml}        |   18 +-
 ...ocketConnectable.xml => ISocketConnectable.xml} |    6 +-
 ...entor.xml => ISocketConnectableImplementor.xml} |    6 +-
 ...ientConnection.xml => ITlsClientConnection.xml} |   18 +-
 ...tor.xml => ITlsClientConnectionImplementor.xml} |   18 +-
 ...rverConnection.xml => ITlsServerConnection.xml} |    6 +-
 ...tor.xml => ITlsServerConnectionImplementor.xml} |    6 +-
 doc/en/GLib/{Volume.xml => IVolume.xml}            |   84 +-
 doc/en/GLib/IconAdapter.xml                        |   48 +-
 doc/en/GLib/IncomingArgs.xml                       |   10 +-
 doc/en/GLib/IncomingHandler.xml                    |   12 +-
 doc/en/GLib/InetAddress.xml                        |   79 +-
 doc/en/GLib/InetSocketAddress.xml                  |   12 +-
 doc/en/GLib/InitableAdapter.xml                    |   48 +-
 doc/en/GLib/InputStream.xml                        |   60 +-
 doc/en/GLib/Io.xml                                 |  152 --
 doc/en/GLib/LoadableIconAdapter.xml                |   64 +-
 doc/en/GLib/LocalDirectoryMonitor.xml              |   12 +-
 doc/en/GLib/LocalFileEnumerator.xml                |    6 +-
 doc/en/GLib/LocalFileIOStream.xml                  |    6 +-
 doc/en/GLib/MainContext.xml                        |   28 +
 doc/en/GLib/Marshaller.xml                         |  126 +-
 doc/en/GLib/MemoryInputStream.xml                  |   18 +-
 doc/en/GLib/MemoryOutputStream.xml                 |   18 +-
 doc/en/GLib/MountAdapter.xml                       |  114 +-
 doc/en/GLib/MountAddedArgs.xml                     |   16 +-
 doc/en/GLib/MountAddedHandler.xml                  |   12 +-
 doc/en/GLib/MountChangedArgs.xml                   |   16 +-
 doc/en/GLib/MountChangedHandler.xml                |   12 +-
 doc/en/GLib/MountOperation.xml                     |   20 +-
 doc/en/GLib/MountPreUnmountArgs.xml                |   16 +-
 doc/en/GLib/MountPreUnmountHandler.xml             |   12 +-
 doc/en/GLib/MountRemovedArgs.xml                   |   16 +-
 doc/en/GLib/MountRemovedHandler.xml                |   12 +-
 doc/en/{Gtk/Spinner.xml => GLib/Mutex.xml}         |   79 +-
 doc/en/GLib/NativeVolumeMonitor.xml                |   12 +-
 doc/en/GLib/NetworkAddress.xml                     |   30 +-
 doc/en/GLib/NetworkService.xml                     |   18 +-
 doc/en/GLib/NewConnectionArgs.xml                  |   10 +-
 doc/en/GLib/NewConnectionHandler.xml               |   12 +-
 doc/en/GLib/Object.xml                             |   44 +
 doc/en/GLib/ObjectManager.xml                      |   15 +-
 doc/en/GLib/OpenedArgs.xml                         |   16 +-
 doc/en/GLib/OpenedHandler.xml                      |   12 +-
 doc/en/GLib/OutputStream.xml                       |   76 +-
 doc/en/GLib/Permission.xml                         |   36 +-
 doc/en/GLib/PollFD.xml                             |  193 ++
 doc/en/GLib/PollableInputStreamAdapter.xml         |   68 +-
 doc/en/GLib/PollableOutputStreamAdapter.xml        |   68 +-
 doc/en/GLib/ProxyAdapter.xml                       |   62 +-
 doc/en/GLib/ProxyAddress.xml                       |   12 +-
 doc/en/GLib/ProxyAddressEnumerator.xml             |   18 +-
 doc/en/GLib/ProxyResolverAdapter.xml               |   62 +-
 doc/en/{Gtk/Spinner.xml => GLib/RecMutex.xml}      |   79 +-
 doc/en/GLib/ReplyArgs.xml                          |    4 +-
 doc/en/GLib/ReplyHandler.xml                       |    4 +-
 doc/en/GLib/Resolver.xml                           |   84 +-
 doc/en/GLib/RunArgs.xml                            |   10 +-
 doc/en/GLib/RunHandler.xml                         |   12 +-
 doc/en/GLib/SeekableAdapter.xml                    |   73 +-
 doc/en/GLib/SeekableImplementor.xml                |   61 -
 doc/en/GLib/Settings.xml                           |   64 +-
 doc/en/GLib/SettingsSchema.xml                     |   12 +-
 doc/en/GLib/ShowProcessesArgs.xml                  |   10 +-
 doc/en/GLib/ShowProcessesHandler.xml               |   12 +-
 doc/en/GLib/Simple.xml                             |   71 -
 doc/en/GLib/SimpleAction.xml                       |   46 +-
 doc/en/GLib/SimpleActionGroup.xml                  |   46 +-
 doc/en/GLib/SimpleAsyncResult.xml                  |   66 +-
 doc/en/GLib/SimplePermission.xml                   |   12 +-
 doc/en/GLib/Socket.xml                             |  109 +-
 doc/en/GLib/SocketAddress.xml                      |   51 +-
 doc/en/GLib/SocketAddressEnumerator.xml            |   24 +-
 doc/en/GLib/SocketClient.xml                       |   67 +-
 doc/en/GLib/SocketConnectableAdapter.xml           |   50 +-
 doc/en/GLib/SocketConnection.xml                   |   57 +-
 doc/en/GLib/SocketControlMessage.xml               |   12 +-
 doc/en/GLib/SocketFamily.xml                       |   70 +
 doc/en/GLib/SocketInputStream.xml                  |   30 +-
 doc/en/GLib/SocketListener.xml                     |   24 +-
 doc/en/GLib/SocketMsgFlags.xml                     |   70 +
 doc/en/GLib/SocketOutputStream.xml                 |   30 +-
 doc/en/GLib/SocketService.xml                      |   16 +-
 doc/en/GLib/SocketSourceFunc.xml                   |   25 +
 doc/en/GLib/Socks4Proxy.xml                        |    6 +-
 doc/en/GLib/Socks4aProxy.xml                       |   18 +-
 doc/en/GLib/Socks5Proxy.xml                        |   18 +-
 doc/en/GLib/Source.xml                             |  479 ++++-
 doc/en/GLib/SourceCallbackFuncs.xml                |  104 +
 doc/en/GLib/SourceDummyMarshal.xml                 |   19 +
 doc/en/GLib/SourceFunc.xml                         |   23 +
 doc/en/GLib/SourceFuncs.xml                        |  104 +
 doc/en/GLib/SrvTarget.xml                          |    6 +-
 doc/en/GLib/TcpConnection.xml                      |   12 +-
 doc/en/GLib/TcpWrapperConnection.xml               |   17 +-
 doc/en/GLib/ThemedIcon.xml                         |   26 +-
 doc/en/GLib/ThreadedResolver.xml                   |   12 +-
 doc/en/GLib/ThreadedSocketService.xml              |   16 +-
 doc/en/GLib/TimeVal.xml                            |  184 ++
 doc/en/{Gtk/CssProvider.xml => GLib/TimeZone.xml}  |  160 +-
 doc/en/GLib/TlsCertificate.xml                     |   30 +-
 doc/en/GLib/TlsClientConnectionAdapter.xml         |   62 +-
 doc/en/GLib/TlsConnection.xml                      |   47 +-
 doc/en/GLib/TlsServerConnectionAdapter.xml         |   50 +-
 doc/en/GLib/UnixConnection.xml                     |   12 +-
 doc/en/GLib/UnixCredentialsMessage.xml             |   12 +-
 doc/en/GLib/UnixFDList.xml                         |   12 +-
 doc/en/GLib/UnixFDMessage.xml                      |   17 +-
 doc/en/GLib/UnixResolver.xml                       |   12 +-
 doc/en/GLib/UnixSocketAddress.xml                  |   12 +-
 doc/en/GLib/Vfs.xml                                |   60 +-
 doc/en/GLib/VolumeAdapter.xml                      |   88 +-
 doc/en/GLib/VolumeAddedArgs.xml                    |   16 +-
 doc/en/GLib/VolumeAddedHandler.xml                 |   12 +-
 doc/en/GLib/VolumeChangedArgs.xml                  |   16 +-
 doc/en/GLib/VolumeChangedHandler.xml               |   12 +-
 doc/en/GLib/VolumeMonitor.xml                      |  238 +--
 doc/en/GLib/VolumeRemovedArgs.xml                  |   16 +-
 doc/en/GLib/VolumeRemovedHandler.xml               |   12 +-
 doc/en/GLib/WritableChangeEventArgs.xml            |   10 +-
 doc/en/GLib/WritableChangeEventHandler.xml         |   12 +-
 doc/en/GLib/WritableChangedArgs.xml                |   10 +-
 doc/en/GLib/WritableChangedHandler.xml             |   12 +-
 doc/en/GLib/ZlibCompressor.xml                     |   18 +-
 doc/en/GLib/ZlibDecompressor.xml                   |   18 +-
 doc/en/Gdk/AppLaunchContext.xml                    |   18 +-
 doc/en/Gdk/AreaUpdatedHandler.xml                  |    4 +-
 doc/en/Gdk/BRESINFO.xml                            |  126 --
 doc/en/Gdk/CapStyle.xml                            |   76 -
 doc/en/Gdk/Char.xml                                |  102 -
 doc/en/Gdk/ClosedHandler.xml                       |    4 +-
 doc/en/Gdk/Colormap.xml                            |  274 ---
 doc/en/Gdk/CreateSurfaceArgs.xml                   |   10 +-
 doc/en/Gdk/CreateSurfaceHandler.xml                |   12 +-
 doc/en/Gdk/DestroyNotify.xml                       |   21 -
 doc/en/Gdk/Device.xml                              |    4 +-
 doc/en/Gdk/DeviceAddedArgs.xml                     |   10 +-
 doc/en/Gdk/DeviceAddedHandler.xml                  |   12 +-
 doc/en/Gdk/DeviceAxis.xml                          |   87 -
 doc/en/Gdk/DeviceChangedArgs.xml                   |   10 +-
 doc/en/Gdk/DeviceChangedHandler.xml                |   12 +-
 doc/en/Gdk/DeviceKey.xml                           |   74 -
 doc/en/Gdk/DeviceManager.xml                       |   24 +-
 doc/en/Gdk/DeviceRemovedArgs.xml                   |   10 +-
 doc/en/Gdk/DeviceRemovedHandler.xml                |   12 +-
 doc/en/Gdk/Display.xml                             |   22 +-
 doc/en/Gdk/DisplayOpenedHandler.xml                |    4 +-
 doc/en/Gdk/DisplayPointerHooks.xml                 |   48 -
 doc/en/Gdk/Drawable.xml                            | 1134 ----------
 doc/en/Gdk/EdgeTable.xml                           |  104 -
 doc/en/Gdk/EdgeTableEntry.xml                      |   34 -
 doc/en/Gdk/EventClient.xml                         |   73 -
 doc/en/Gdk/Fill.xml                                |   76 -
 doc/en/Gdk/FillRule.xml                            |   50 -
 doc/en/Gdk/Font.xml                                |  291 ---
 doc/en/Gdk/FontType.xml                            |   50 -
 doc/en/Gdk/Fontset.xml                             |   64 -
 doc/en/Gdk/FromEmbedderArgs.xml                    |   10 +-
 doc/en/Gdk/FromEmbedderHandler.xml                 |   12 +-
 doc/en/Gdk/Function.xml                            |  232 ---
 doc/en/Gdk/GC.xml                                  |  674 ------
 doc/en/Gdk/GCValues.xml                            |  337 ---
 doc/en/Gdk/GCValuesMask.xml                        |  258 ---
 doc/en/Gdk/Global.xml                              |   60 -
 doc/en/Gdk/Image.xml                               |  324 ---
 doc/en/Gdk/ImageType.xml                           |   63 -
 doc/en/Gdk/Input.xml                               |  108 -
 doc/en/Gdk/InputCondition.xml                      |   66 -
 doc/en/Gdk/InputFunction.xml                       |   27 -
 doc/en/Gdk/InvalidateMaybeRecurseChildFunc.xml     |   22 -
 doc/en/Gdk/JoinStyle.xml                           |   60 -
 doc/en/Gdk/Keymap.xml                              |    4 +-
 doc/en/Gdk/LineStyle.xml                           |   64 -
 doc/en/Gdk/OverlapType.xml                         |   63 -
 doc/en/Gdk/POINTBLOCK.xml                          |   34 -
 doc/en/Gdk/PangoAttrEmbossColor.xml                |   86 -
 doc/en/Gdk/PangoAttrEmbossed.xml                   |  154 --
 doc/en/Gdk/PangoAttrStipple.xml                    |  176 --
 doc/en/Gdk/PangoRenderer.xml                       |  170 --
 doc/en/Gdk/PickEmbeddedChildArgs.xml               |   10 +-
 doc/en/Gdk/PickEmbeddedChildHandler.xml            |   12 +-
 doc/en/Gdk/Pixbuf.xml                              |   12 +-
 doc/en/Gdk/Pixmap.xml                              |  434 ----
 doc/en/Gdk/PointerHooks.xml                        |   48 -
 doc/en/Gdk/Region.xml                              |  321 ---
 doc/en/Gdk/RegionBox.xml                           |  100 -
 doc/en/Gdk/Rgb.xml                                 |  224 --
 doc/en/Gdk/RgbCmap.xml                             |   89 -
 doc/en/Gdk/RgbDither.xml                           |   63 -
 doc/en/Gdk/ScanLineList.xml                        |   34 -
 doc/en/Gdk/ScanLineListBlock.xml                   |   34 -
 doc/en/Gdk/Screen.xml                              |    4 +-
 doc/en/Gdk/Segment.xml                             |  101 -
 doc/en/Gdk/SizePreparedHandler.xml                 |    4 +-
 doc/en/Gdk/Span.xml                                |   87 -
 doc/en/Gdk/SpanFunc.xml                            |   23 -
 doc/en/Gdk/Spawn.xml                               |  112 -
 doc/en/Gdk/SubwindowMode.xml                       |   50 -
 doc/en/Gdk/TextProperty.xml                        |   23 -
 doc/en/Gdk/ToEmbedderArgs.xml                      |   10 +-
 doc/en/Gdk/ToEmbedderHandler.xml                   |   12 +-
 doc/en/Gdk/Trapezoid.xml                           |  127 --
 doc/en/Gdk/Window.xml                              |   22 +-
 doc/en/Gdk/WindowClass.xml                         |   53 -
 doc/en/Gtk/AboutDialog.xml                         |    4 +-
 doc/en/Gtk/AboutDialogActivateLinkFunc.xml         |   37 -
 doc/en/Gtk/AccelMap.xml                            |   16 +-
 doc/en/Gtk/Action.xml                              |    6 +-
 doc/en/Gtk/ActivatableAdapter.xml                  |   48 +-
 doc/en/Gtk/ActivateLinkArgs.xml                    |   29 +-
 doc/en/Gtk/ActivateLinkHandler.xml                 |   31 +-
 doc/en/Gtk/AddEditableArgs.xml                     |   16 +-
 doc/en/Gtk/AddEditableHandler.xml                  |   12 +-
 doc/en/Gtk/AnchorType.xml                          |  230 --
 doc/en/Gtk/AppChooserAdapter.xml                   |   42 +-
 doc/en/Gtk/AppChooserButton.xml                    |   34 +-
 doc/en/Gtk/AppChooserDialog.xml                    |   36 +-
 doc/en/Gtk/AppChooserWidget.xml                    |   54 +-
 doc/en/Gtk/Application.xml                         |   12 +-
 doc/en/Gtk/ApplicationActivatedArgs.xml            |   16 +-
 doc/en/Gtk/ApplicationActivatedHandler.xml         |   12 +-
 doc/en/Gtk/ApplicationSelectedArgs.xml             |   16 +-
 doc/en/Gtk/ApplicationSelectedHandler.xml          |   12 +-
 doc/en/Gtk/Arg.xml                                 |  104 -
 doc/en/Gtk/Assistant.xml                           |   28 +-
 doc/en/Gtk/AttributesAppliedArgs.xml               |   16 +-
 doc/en/Gtk/AttributesAppliedHandler.xml            |   12 +-
 doc/en/Gtk/Box.xml                                 |    6 +-
 doc/en/Gtk/Builder.xml                             |   12 +-
 doc/en/Gtk/Button.xml                              |    6 +-
 doc/en/Gtk/CallbackMarshal.xml                     |   29 -
 doc/en/Gtk/CellArea.xml                            |   64 +-
 doc/en/Gtk/CellAreaBox.xml                         |   20 +-
 doc/en/Gtk/CellAreaContext.xml                     |   12 +-
 doc/en/Gtk/CellEditableAdapter.xml                 |   50 +-
 doc/en/Gtk/CellLayoutAdapter.xml                   |   50 +-
 doc/en/Gtk/CellLayoutDataFunc.xml                  |    6 +-
 doc/en/Gtk/CellRenderer.xml                        |   24 +-
 doc/en/Gtk/CellRendererAccel.xml                   |   20 +-
 doc/en/Gtk/CellRendererCombo.xml                   |   10 +-
 doc/en/Gtk/CellRendererPixbuf.xml                  |    6 +-
 doc/en/Gtk/CellRendererProgress.xml                |    6 +-
 doc/en/Gtk/CellRendererSpinner.xml                 |   12 +-
 doc/en/Gtk/CellView.xml                            |   14 +-
 doc/en/Gtk/ClientEventArgs.xml                     |   44 -
 doc/en/Gtk/ClientEventHandler.xml                  |   29 -
 doc/en/Gtk/Combo.xml                               |  375 ----
 doc/en/Gtk/ComboBox.xml                            |   46 +-
 doc/en/Gtk/ComboBoxEntry.xml                       |  145 --
 doc/en/Gtk/ComboBoxText.xml                        |   12 +-
 doc/en/Gtk/CreateWindowArgs.xml                    |   10 +-
 doc/en/Gtk/CreateWindowHandler.xml                 |   12 +-
 doc/en/Gtk/CssProvider.xml                         |   24 +-
 .../Gtk/CurrentParagraphAlignmentChangedArgs.xml   |   44 -
 .../CurrentParagraphAlignmentChangedHandler.xml    |   29 -
 .../Gtk/CurrentParagraphIndentationChangedArgs.xml |   44 -
 .../CurrentParagraphIndentationChangedHandler.xml  |   29 -
 doc/en/Gtk/CurrentParagraphStyleChangedArgs.xml    |   44 -
 doc/en/Gtk/CurrentParagraphStyleChangedHandler.xml |   29 -
 doc/en/Gtk/CursorMoveArgs.xml                      |   56 -
 doc/en/Gtk/CursorMoveHandler.xml                   |   29 -
 doc/en/Gtk/CursorOnMatchArgs.xml                   |   16 +-
 doc/en/Gtk/CursorOnMatchHandler.xml                |   12 +-
 doc/en/Gtk/Curve.xml                               |  309 ---
 doc/en/Gtk/CurveType.xml                           |   60 -
 doc/en/Gtk/CustomItemActivatedArgs.xml             |   10 +-
 doc/en/Gtk/CustomItemActivatedHandler.xml          |   12 +-
 doc/en/Gtk/CustomPaperUnixDialog.xml               |   12 +-
 doc/en/Gtk/CycleFocusArgs.xml                      |   10 +-
 doc/en/Gtk/CycleFocusHandler.xml                   |   12 +-
 doc/en/Gtk/DamageEventArgs.xml                     |   10 +-
 doc/en/Gtk/DamageEventHandler.xml                  |   12 +-
 doc/en/Gtk/DeletedTextArgs.xml                     |   10 +-
 doc/en/Gtk/DeletedTextHandler.xml                  |   12 +-
 doc/en/Gtk/DestroyNotify.xml                       |   24 -
 doc/en/Gtk/DisableDeviceArgs.xml                   |   44 -
 doc/en/Gtk/DisableDeviceHandler.xml                |   29 -
 doc/en/Gtk/DragFailedArgs.xml                      |   10 +-
 doc/en/Gtk/DragFailedHandler.xml                   |   12 +-
 doc/en/Gtk/Draw.xml                                |  691 -------
 doc/en/Gtk/DrawGdkArgs.xml                         |   84 -
 doc/en/Gtk/DrawGdkHandler.xml                      |   31 -
 doc/en/Gtk/DrawPrintArgs.xml                       |   45 -
 doc/en/Gtk/DrawPrintHandler.xml                    |   31 -
 doc/en/Gtk/DrawnArgs.xml                           |   10 +-
 doc/en/Gtk/DrawnHandler.xml                        |   12 +-
 doc/en/Gtk/EditableAdapter.xml                     |   50 +-
 doc/en/Gtk/EditingStartedArgs.xml                  |    6 +-
 doc/en/Gtk/EnableDeviceArgs.xml                    |   44 -
 doc/en/Gtk/EnableDeviceHandler.xml                 |   29 -
 doc/en/Gtk/Entry.xml                               |   44 +-
 doc/en/Gtk/EntryBuffer.xml                         |   20 +-
 doc/en/Gtk/EntryCompletion.xml                     |   41 +-
 doc/en/Gtk/ExposeEventArgs.xml                     |   44 -
 doc/en/Gtk/ExposeEventHandler.xml                  |   29 -
 doc/en/Gtk/FileChooserAdapter.xml                  |   84 +-
 doc/en/Gtk/FileChooserButton.xml                   |   58 +-
 doc/en/Gtk/FileChooserDialog.xml                   |   85 +-
 doc/en/Gtk/FileChooserWidget.xml                   |   54 +-
 doc/en/Gtk/FileSelection+FSButton.xml              |   45 -
 doc/en/Gtk/FileSelection.xml                       |  498 -----
 doc/en/Gtk/FocusChangedArgs.xml                    |   10 +-
 doc/en/Gtk/FocusChangedHandler.xml                 |   12 +-
 doc/en/Gtk/FocusHomeOrEndArgs.xml                  |   10 +-
 doc/en/Gtk/FocusHomeOrEndHandler.xml               |   12 +-
 doc/en/Gtk/FrameArgs.xml                           |   10 +-
 doc/en/Gtk/FrameEventArgs.xml                      |   44 -
 doc/en/Gtk/FrameEventHandler.xml                   |   29 -
 doc/en/Gtk/FrameHandler.xml                        |   12 +-
 doc/en/Gtk/Function.xml                            |   22 -
 doc/en/Gtk/GammaCurve.xml                          |   84 -
 doc/en/Gtk/Gc.xml                                  |   67 -
 doc/en/Gtk/Grid.xml                                |   18 +-
 doc/en/Gtk/HRuler.xml                              |   81 -
 doc/en/Gtk/HTML.xml                                | 2186 --------------------
 doc/en/Gtk/HTMLBeginFlags.xml                      |  104 -
 doc/en/Gtk/HTMLClassProperties.xml                 |   36 -
 doc/en/Gtk/HTMLCommandType.xml                     | 2052 ------------------
 doc/en/Gtk/HTMLCursorSkipType.xml                  |   81 -
 doc/en/Gtk/HTMLEditorAPI.xml                       |   48 -
 doc/en/Gtk/HTMLEditorEventType.xml                 |   71 -
 doc/en/Gtk/HTMLEmbedded.xml                        |  339 ---
 doc/en/Gtk/HTMLFontStyle.xml                       |  232 ---
 doc/en/Gtk/HTMLFontStyleShift.xml                  |  110 -
 doc/en/Gtk/HTMLParagraphAlignment.xml              |   58 -
 doc/en/Gtk/HTMLParagraphStyle.xml                  |  188 --
 doc/en/Gtk/HTMLPrintCalcHeight.xml                 |   27 -
 doc/en/Gtk/HTMLPrintCallback.xml                   |   33 -
 doc/en/Gtk/HTMLPrintDrawFunc.xml                   |   30 -
 doc/en/Gtk/HTMLSaveReceiverFn.xml                  |   26 -
 doc/en/Gtk/HTMLStream.xml                          |  176 --
 doc/en/Gtk/HTMLStreamCloseFunc.xml                 |   25 -
 doc/en/Gtk/HTMLStreamStatus.xml                    |   46 -
 doc/en/Gtk/HTMLStreamTypesFunc.xml                 |   24 -
 doc/en/Gtk/HTMLStreamWriteFunc.xml                 |   27 -
 doc/en/Gtk/{Activatable.xml => IActivatable.xml}   |    6 +-
 ...Implementor.xml => IActivatableImplementor.xml} |    6 +-
 doc/en/Gtk/{AppChooser.xml => IAppChooser.xml}     |   12 +-
 doc/en/Gtk/{CellEditable.xml => ICellEditable.xml} |   56 +-
 ...mplementor.xml => ICellEditableImplementor.xml} |   13 +-
 doc/en/Gtk/{CellLayout.xml => ICellLayout.xml}     |  114 +-
 ...tImplementor.xml => ICellLayoutImplementor.xml} |   20 +-
 doc/en/Gtk/{Editable.xml => IEditable.xml}         |  112 +-
 ...bleImplementor.xml => IEditableImplementor.xml} |   18 +-
 doc/en/Gtk/{FileChooser.xml => IFileChooser.xml}   |  575 ++---
 doc/en/Gtk/{Orientable.xml => IOrientable.xml}     |    6 +-
 ...eImplementor.xml => IOrientableImplementor.xml} |    6 +-
 ...ationPreview.xml => IPrintOperationPreview.xml} |   13 +-
 ...r.xml => IPrintOperationPreviewImplementor.xml} |   15 +-
 .../Gtk/{RecentChooser.xml => IRecentChooser.xml}  |   35 +-
 ...plementor.xml => IRecentChooserImplementor.xml} |   22 +-
 doc/en/Gtk/{Scrollable.xml => IScrollable.xml}     |    6 +-
 ...eImplementor.xml => IScrollableImplementor.xml} |    6 +-
 .../Gtk/{StyleProvider.xml => IStyleProvider.xml}  |    6 +-
 ...plementor.xml => IStyleProviderImplementor.xml} |    6 +-
 doc/en/Gtk/{ToolShell.xml => IToolShell.xml}       |    6 +-
 ...llImplementor.xml => IToolShellImplementor.xml} |    6 +-
 ...eeDragDestImplementor.xml => ITreeDragDest.xml} |   19 +-
 ...mplementor.xml => ITreeDragDestImplementor.xml} |   14 +-
 .../{TreeDragSource.xml => ITreeDragSource.xml}    |   45 +-
 ...lementor.xml => ITreeDragSourceImplementor.xml} |   15 +-
 doc/en/Gtk/{TreeModel.xml => ITreeModel.xml}       |  406 ++--
 ...elImplementor.xml => ITreeModelImplementor.xml} |   26 +-
 doc/en/Gtk/{TreeSortable.xml => ITreeSortable.xml} |   71 +-
 ...mplementor.xml => ITreeSortableImplementor.xml} |   15 +-
 doc/en/Gtk/IconPressArgs.xml                       |   10 +-
 doc/en/Gtk/IconPressHandler.xml                    |   12 +-
 doc/en/Gtk/IconReleaseArgs.xml                     |   10 +-
 doc/en/Gtk/IconReleaseHandler.xml                  |   12 +-
 doc/en/Gtk/IconTheme.xml                           |    6 +-
 doc/en/Gtk/IconView.xml                            |   36 +-
 doc/en/Gtk/IframeCreatedArgs.xml                   |   44 -
 doc/en/Gtk/IframeCreatedHandler.xml                |   29 -
 doc/en/Gtk/Image.xml                               |   24 +-
 doc/en/Gtk/InfoBar.xml                             |   20 +-
 doc/en/Gtk/Input.xml                               |   71 -
 doc/en/Gtk/InputDialog.xml                         |  186 --
 doc/en/Gtk/InsertedTextArgs.xml                    |   10 +-
 doc/en/Gtk/InsertedTextHandler.xml                 |   12 +-
 doc/en/Gtk/InsertionColorChangedArgs.xml           |   44 -
 doc/en/Gtk/InsertionColorChangedHandler.xml        |   29 -
 doc/en/Gtk/InsertionFontStyleChangedArgs.xml       |   44 -
 doc/en/Gtk/InsertionFontStyleChangedHandler.xml    |   29 -
 doc/en/Gtk/Item.xml                                |  219 --
 doc/en/Gtk/ItemFactory.xml                         |  546 -----
 doc/en/Gtk/ItemFactoryCallback.xml                 |   21 -
 doc/en/Gtk/ItemFactoryCallback1.xml                |   27 -
 doc/en/Gtk/ItemFactoryEntry.xml                    |  129 --
 doc/en/Gtk/Label.xml                               |    8 +-
 doc/en/Gtk/Layout.xml                              |    6 +-
 doc/en/Gtk/LinkButton.xml                          |   16 +-
 doc/en/Gtk/LinkButtonUriFunc.xml                   |   24 -
 doc/en/Gtk/LinkClickedArgs.xml                     |   44 -
 doc/en/Gtk/LinkClickedHandler.xml                  |   29 -
 doc/en/Gtk/ListStore.xml                           |   12 +-
 doc/en/Gtk/MatchSelectedArgs.xml                   |    6 +-
 doc/en/Gtk/MatchType.xml                           |  109 -
 doc/en/Gtk/Menu.xml                                |   20 +-
 doc/en/Gtk/MenuActivateArgs.xml                    |   10 +-
 doc/en/Gtk/MenuActivateHandler.xml                 |   12 +-
 doc/en/Gtk/MenuCallback.xml                        |   25 -
 doc/en/Gtk/MenuEntry.xml                           |  105 -
 doc/en/Gtk/MenuItem.xml                            |   14 +-
 doc/en/Gtk/MenuShell.xml                           |    8 +-
 doc/en/Gtk/MetricType.xml                          |   63 -
 doc/en/Gtk/ModifierStyle.xml                       |   16 +-
 doc/en/Gtk/MountOperation.xml                      |   12 +-
 doc/en/Gtk/MoveActiveArgs.xml                      |   10 +-
 doc/en/Gtk/MoveActiveHandler.xml                   |   12 +-
 doc/en/Gtk/MoveScrollArgs.xml                      |   10 +-
 doc/en/Gtk/MoveScrollHandler.xml                   |   12 +-
 doc/en/Gtk/MoveSelectedArgs.xml                    |   10 +-
 doc/en/Gtk/MoveSelectedHandler.xml                 |   12 +-
 doc/en/Gtk/MoveViewportArgs.xml                    |   10 +-
 doc/en/Gtk/MoveViewportHandler.xml                 |   12 +-
 doc/en/Gtk/NoExposeEventArgs.xml                   |   46 -
 doc/en/Gtk/NoExposeEventHandler.xml                |   29 -
 doc/en/Gtk/Notebook.xml                            |    8 +-
 doc/en/Gtk/NotebookWindowCreationFunc.xml          |   29 -
 doc/en/Gtk/NumerableIcon.xml                       |   30 +-
 doc/en/Gtk/Object.xml                              |  464 -----
 doc/en/Gtk/ObjectDeleteArgs.xml                    |   51 -
 doc/en/Gtk/ObjectDeleteHandler.xml                 |   24 -
 doc/en/Gtk/ObjectInsertedArgs.xml                  |   51 -
 doc/en/Gtk/ObjectInsertedHandler.xml               |   24 -
 doc/en/Gtk/ObjectRequestedArgs.xml                 |   46 -
 doc/en/Gtk/ObjectRequestedHandler.xml              |   31 -
 doc/en/Gtk/OffscreenWindow.xml                     |   12 +-
 doc/en/Gtk/OnCommandArgs.xml                       |   44 -
 doc/en/Gtk/OnCommandHandler.xml                    |   29 -
 doc/en/Gtk/OnUrlArgs.xml                           |   44 -
 doc/en/Gtk/OnUrlHandler.xml                        |   29 -
 doc/en/Gtk/OptionMenu.xml                          |  237 ---
 doc/en/Gtk/OrientableAdapter.xml                   |   48 +-
 doc/en/Gtk/PageHorizontallyArgs.xml                |   56 -
 doc/en/Gtk/PageHorizontallyHandler.xml             |   29 -
 doc/en/Gtk/PageSetup.xml                           |   12 +-
 doc/en/Gtk/PageSetupUnixDialog.xml                 |   12 +-
 doc/en/Gtk/Paned.xml                               |    6 +-
 doc/en/Gtk/PasteDoneArgs.xml                       |   10 +-
 doc/en/Gtk/PasteDoneHandler.xml                    |   12 +-
 doc/en/Gtk/PoppedDownArgs.xml                      |   10 +-
 doc/en/Gtk/PoppedDownHandler.xml                   |   12 +-
 doc/en/Gtk/PreeditChangedArgs.xml                  |   24 +-
 doc/en/Gtk/PreeditChangedHandler.xml               |   26 +-
 doc/en/Gtk/PreviewArgs.xml                         |    6 +-
 doc/en/Gtk/PreviewType.xml                         |   53 -
 doc/en/Gtk/PrintBackendError.xml                   |   27 -
 doc/en/Gtk/PrintContext.xml                        |   12 +-
 doc/en/Gtk/PrintFunc.xml                           |   26 -
 doc/en/Gtk/PrintOperation.xml                      |   77 +-
 doc/en/Gtk/PrintOperationPreviewAdapter.xml        |   50 +-
 doc/en/Gtk/PrintSettings.xml                       |   12 +-
 doc/en/Gtk/Printer.xml                             |   16 +-
 doc/en/Gtk/PrinterAddedArgs.xml                    |   41 -
 doc/en/Gtk/PrinterAddedHandler.xml                 |   28 -
 doc/en/Gtk/PrinterOption.xml                       |  180 --
 doc/en/Gtk/PrinterOptionSet.xml                    |  232 ---
 doc/en/Gtk/PrinterOptionSetFunc.xml                |   22 -
 doc/en/Gtk/PrinterOptionType.xml                   |  122 --
 doc/en/Gtk/PrinterOptionWidget.xml                 |  152 --
 doc/en/Gtk/PrinterRemovedArgs.xml                  |   41 -
 doc/en/Gtk/PrinterRemovedHandler.xml               |   28 -
 doc/en/Gtk/PrinterStatusChangedArgs.xml            |   41 -
 doc/en/Gtk/PrinterStatusChangedHandler.xml         |   28 -
 doc/en/Gtk/ProgressBar.xml                         |    6 +-
 doc/en/Gtk/ProgressBarOrientation.xml              |   72 -
 doc/en/Gtk/ProgressBarStyle.xml                    |   48 -
 doc/en/Gtk/QueryTooltipArgs.xml                    |   24 +-
 doc/en/Gtk/QueryTooltipHandler.xml                 |   26 +-
 doc/en/Gtk/Quit.xml                                |  128 --
 doc/en/Gtk/RadioAction.xml                         |    6 +-
 doc/en/Gtk/RadioButton.xml                         |   11 +-
 doc/en/Gtk/RadioMenuItem.xml                       |   38 +-
 doc/en/Gtk/RadioToolButton.xml                     |   65 +-
 doc/en/Gtk/RecentAction.xml                        |   25 +-
 doc/en/Gtk/RecentChooserAdapter.xml                |   57 +-
 doc/en/Gtk/RecentChooserDefault.xml                |   21 +-
 doc/en/Gtk/RecentChooserDialog.xml                 |   25 +-
 doc/en/Gtk/RecentChooserMenu.xml                   |   27 +-
 doc/en/Gtk/RecentChooserWidget.xml                 |   25 +-
 doc/en/Gtk/RecentFilter.xml                        |   12 +-
 doc/en/Gtk/RecentInfo.xml                          |   12 +-
 doc/en/Gtk/RecentManager.xml                       |   16 +-
 doc/en/Gtk/RedirectArgs.xml                        |   56 -
 doc/en/Gtk/RedirectHandler.xml                     |   29 -
 doc/en/Gtk/RemoveEditableArgs.xml                  |   16 +-
 doc/en/Gtk/RemoveEditableHandler.xml               |   12 +-
 doc/en/Gtk/RespondArgs.xml                         |   10 +-
 doc/en/Gtk/RespondHandler.xml                      |   12 +-
 doc/en/Gtk/Ruler.xml                               |  244 ---
 doc/en/Gtk/RulerMetric.xml                         |  113 -
 doc/en/Gtk/ScaleButton.xml                         |   30 +-
 doc/en/Gtk/ScrollAdjustmentsSetArgs.xml            |   80 -
 doc/en/Gtk/ScrollAdjustmentsSetHandler.xml         |   53 -
 doc/en/Gtk/ScrollArgs.xml                          |   68 -
 doc/en/Gtk/ScrollHandler.xml                       |   29 -
 doc/en/Gtk/ScrollableAdapter.xml                   |   48 +-
 doc/en/Gtk/Separator.xml                           |    6 +-
 doc/en/Gtk/SetBaseArgs.xml                         |   44 -
 doc/en/Gtk/SetBaseHandler.xml                      |   29 -
 doc/en/Gtk/SetBaseTargetArgs.xml                   |   44 -
 doc/en/Gtk/SetBaseTargetHandler.xml                |   29 -
 doc/en/Gtk/Settings.xml                            |    6 +-
 doc/en/Gtk/SideType.xml                            |   81 -
 doc/en/Gtk/SignalFunc.xml                          |   22 -
 doc/en/Gtk/SizeRequestedArgs.xml                   |   54 -
 doc/en/Gtk/SizeRequestedHandler.xml                |   29 -
 doc/en/Gtk/Spinner.xml                             |   12 +-
 doc/en/Gtk/StateFlagsChangedArgs.xml               |   10 +-
 doc/en/Gtk/StateFlagsChangedHandler.xml            |   12 +-
 doc/en/Gtk/StatusIcon.xml                          |   28 +-
 doc/en/Gtk/Style.xml                               |    5 +
 doc/en/Gtk/StyleContext.xml                        |   40 +-
 doc/en/Gtk/StyleProperties.xml                     |   18 +-
 doc/en/Gtk/StyleProviderAdapter.xml                |   48 +-
 doc/en/Gtk/SubmenuDirection.xml                    |   50 -
 doc/en/Gtk/SubmenuPlacement.xml                    |   50 -
 doc/en/Gtk/SubmitArgs.xml                          |   68 -
 doc/en/Gtk/SubmitHandler.xml                       |   29 -
 doc/en/Gtk/Switch.xml                              |   18 +-
 doc/en/Gtk/TargetPair.xml                          |  105 -
 doc/en/Gtk/TextBuffer.xml                          |    4 +-
 doc/en/Gtk/TextIter.xml                            |   26 +-
 doc/en/Gtk/TextView.xml                            |   22 +-
 doc/en/Gtk/ThemingEngine.xml                       |   12 +-
 doc/en/Gtk/Timeline.xml                            |   22 +-
 doc/en/Gtk/Timeout.xml                             |   97 -
 doc/en/Gtk/TitleChangedArgs.xml                    |   44 -
 doc/en/Gtk/TitleChangedHandler.xml                 |   29 -
 doc/en/Gtk/ToolItem.xml                            |    6 +-
 doc/en/Gtk/ToolItemGroup.xml                       |   18 +-
 doc/en/Gtk/ToolPalette.xml                         |   20 +-
 doc/en/Gtk/ToolShellAdapter.xml                    |   48 +-
 doc/en/Gtk/Toolbar.xml                             |   36 +-
 doc/en/Gtk/ToolbarChildType.xml                    |   90 -
 doc/en/Gtk/Tooltip.xml                             |   18 +-
 doc/en/Gtk/TooltipSetArgs.xml                      |   73 -
 doc/en/Gtk/TooltipSetHandler.xml                   |   31 -
 doc/en/Gtk/Tooltips.xml                            |  231 ---
 doc/en/Gtk/TooltipsData.xml                        |  165 --
 doc/en/Gtk/Tree.xml                                |   39 +-
 doc/en/Gtk/TreeCellDataFunc.xml                    |    4 +-
 doc/en/Gtk/TreeDragDest.xml                        |   63 -
 doc/en/Gtk/TreeDragDestAdapter.xml                 |   50 +-
 doc/en/Gtk/TreeDragSourceAdapter.xml               |   50 +-
 doc/en/Gtk/TreeIterCompareFunc.xml                 |    4 +-
 doc/en/Gtk/TreeMenu.xml                            |   22 +-
 doc/en/Gtk/TreeMenuHeaderFunc.xml                  |    4 +-
 doc/en/Gtk/TreeModelAdapter.xml                    |   50 +-
 doc/en/Gtk/TreeModelFilter.xml                     |   48 +-
 doc/en/Gtk/TreeModelFilterModifyFunc.xml           |    4 +-
 doc/en/Gtk/TreeModelFilterVisibleFunc.xml          |    4 +-
 doc/en/Gtk/TreeModelForeachFunc.xml                |    4 +-
 doc/en/Gtk/TreeModelSort.xml                       |   30 +-
 doc/en/Gtk/TreeRowReference.xml                    |   40 +-
 doc/en/Gtk/TreeSelection.xml                       |   35 +-
 doc/en/Gtk/TreeSelectionForeachFunc.xml            |    4 +-
 doc/en/Gtk/TreeSelectionFunc.xml                   |    4 +-
 doc/en/Gtk/TreeSortableAdapter.xml                 |   50 +-
 doc/en/Gtk/TreeStore.xml                           |   12 +-
 doc/en/Gtk/TreeView.xml                            |   38 +-
 doc/en/Gtk/TreeViewColumn.xml                      |   39 +-
 doc/en/Gtk/TreeViewRowSeparatorFunc.xml            |    4 +-
 doc/en/Gtk/TreeViewSearchEqualFunc.xml             |    4 +-
 doc/en/Gtk/UpdateCustomWidgetArgs.xml              |   10 +-
 doc/en/Gtk/UpdateCustomWidgetHandler.xml           |   12 +-
 doc/en/Gtk/UpdateType.xml                          |   64 -
 doc/en/Gtk/UrlRequestedArgs.xml                    |   56 -
 doc/en/Gtk/UrlRequestedHandler.xml                 |   29 -
 doc/en/Gtk/VRuler.xml                              |   81 -
 doc/en/Gtk/ValueChangedArgs.xml                    |   10 +-
 doc/en/Gtk/ValueChangedHandler.xml                 |   12 +-
 doc/en/Gtk/Viewport.xml                            |    6 +-
 doc/en/Gtk/VolumeButton.xml                        |   12 +-
 doc/en/Gtk/Widget.xml                              |  138 +-
 doc/en/Gtk/WidgetFlags.xml                         |  344 ---
 doc/en/Gtk/WidgetPath.xml                          |   12 +-
 doc/en/Gtk/Win32EmbedWidget.xml                    |   12 +-
 doc/en/Gtk/WindowGroup.xml                         |    6 +-
 doc/en/Gtk/WindowKeysForeachFunc.xml               |   29 -
 doc/en/index.xml                                   |  388 +---
 doc/en/ns-.xml                                     |    6 +
 gapi.xsd                                           |    1 +
 gdk/Keymap.cs                                      |    9 +-
 gdk/Makefile.in                                    |    8 +-
 gdk/Pixbuf.cs                                      |    5 +-
 generator/CallbackGen.cs                           |   10 +
 generator/ClassBase.cs                             |   21 +
 generator/ClassGen.cs                              |    3 +-
 generator/CodeGenerator.cs                         |    7 +-
 generator/Constant.cs                              |   87 +
 generator/FieldBase.cs                             |   39 +-
 generator/GObjectVM.cs                             |    2 +-
 generator/InterfaceGen.cs                          |   15 +-
 generator/LPUGen.cs                                |    2 +-
 generator/Makefile.am                              |   22 +-
 generator/Makefile.in                              |   30 +-
 generator/ManagedCallString.cs                     |   40 +-
 generator/Method.cs                                |   21 +-
 generator/MethodBody.cs                            |   21 +-
 generator/NativeStructGen.cs                       |  227 ++
 generator/ObjectField.cs                           |    2 +-
 generator/ObjectGen.cs                             |    6 +-
 generator/OpaqueGen.cs                             |    3 +-
 generator/Parameter.cs                             |   42 +
 generator/Parameters.cs                            |   58 +-
 generator/Parser.cs                                |   34 +-
 generator/ReturnValue.cs                           |   15 +-
 generator/Signal.cs                                |  107 +-
 generator/Signature.cs                             |   42 +
 generator/StructBase.cs                            |   73 +-
 generator/StructField.cs                           |   34 +-
 generator/SymbolTable.cs                           |   17 +
 generator/{ObjectField.cs => UnionGen.cs}          |   32 +-
 generator/VirtualMethod.cs                         |   19 +-
 {parser => generator}/gapi-fixup.cs                |   25 +-
 {parser => generator}/gapi3-fixup.in               |    0
 gio/Gio.metadata                                   |    7 +
 gio/Makefile.in                                    |    8 +-
 gio/glue/Makefile.in                               |    2 +-
 glib/Argv.cs                                       |   14 +-
 glib/Cond.cs                                       |   62 +
 glib/Date.cs                                       |  478 +++++
 glib/DateTime.cs                                   |  512 +++++
 glib/FileUtils.cs                                  |    4 +-
 glib/GException.cs                                 |    2 +-
 glib/GInterfaceAdapter.cs                          |    2 +-
 glib/GLibSharp.SourceDummyMarshalNative.cs         |   92 +
 glib/GLibSharp.SourceFuncNative.cs                 |   95 +
 glib/GString.cs                                    |    4 +-
 glib/GType.cs                                      |   22 +-
 glib/Global.cs                                     |   13 +-
 glib/IOChannel.cs                                  |   66 +-
 glib/Idle.cs                                       |    6 +-
 glib/InitiallyUnowned.cs                           |    8 +-
 glib/KeyFile.cs                                    |   89 +-
 glib/List.cs                                       |   12 +-
 glib/ListBase.cs                                   |    7 +-
 glib/Log.cs                                        |   18 +-
 glib/MainContext.cs                                |   26 +-
 glib/MainLoop.cs                                   |   12 +-
 glib/Makefile.am                                   |   21 +
 glib/Makefile.in                                   |   23 +-
 glib/ManagedValue.cs                               |    2 +-
 glib/Markup.cs                                     |    2 +-
 glib/Marshaller.cs                                 |  173 +-
 glib/Mutex.cs                                      |   55 +
 glib/NotifyHandler.cs                              |    2 +-
 glib/Object.cs                                     |   48 +-
 glib/ObjectManager.cs                              |    2 +-
 glib/ParamSpec.cs                                  |   38 +-
 glib/PollFD.cs                                     |   67 +
 glib/PtrArray.cs                                   |   21 +-
 glib/RecMutex.cs                                   |   55 +
 glib/SList.cs                                      |   12 +-
 glib/Signal.cs                                     |   18 +-
 glib/SignalClosure.cs                              |   16 +-
 glib/Source.cs                                     |  349 +++-
 glib/SourceCallbackFuncs.cs                        |   44 +
 glib/SourceDummyMarshal.cs                         |   10 +
 glib/SourceFunc.cs                                 |   10 +
 glib/SourceFuncs.cs                                |   46 +
 glib/Spawn.cs                                      |   22 +-
 glib/Thread.cs                                     |    6 +-
 glib/TimeVal.cs                                    |  105 +
 glib/TimeZone.cs                                   |  146 ++
 glib/Timeout.cs                                    |    8 +-
 glib/ToggleRef.cs                                  |   12 +-
 glib/Value.cs                                      |  118 +-
 glib/ValueArray.cs                                 |   18 +-
 glib/Variant.cs                                    |   44 +-
 glib/VariantType.cs                                |   52 +-
 gtk/Application.cs                                 |    4 +-
 gtk/Gtk.metadata                                   |    5 +-
 gtk/IconSet.cs                                     |    5 +-
 gtk/Makefile.in                                    |    8 +-
 gtk/SelectionData.cs                               |    5 +-
 gtk/glue/Makefile.in                               |    2 +-
 gtk/gui-thread-check/Makefile.in                   |    2 +-
 gtk/gui-thread-check/profiler/Makefile.in          |    2 +-
 gtk/gui-thread-check/profiler/gui-thread-check.c   |    7 +-
 gtkdotnet/Makefile.in                              |    2 +-
 ltmain.sh                                          |    4 +-
 pango/Context.cs                                   |    5 +-
 pango/Coverage.cs                                  |    5 +-
 pango/FontFamily.cs                                |    5 +-
 pango/FontMap.cs                                   |    5 +-
 pango/Layout.cs                                    |    5 +-
 pango/LayoutLine.cs                                |    2 +-
 pango/Makefile.in                                  |    8 +-
 pango/TabArray.cs                                  |    7 +-
 pango/glue/Makefile.in                             |    2 +-
 parser/Makefile.am                                 |   12 +-
 parser/Makefile.in                                 |   21 +-
 sample/CairoPng.cs                                 |   76 +
 sample/GtkDemo/Makefile.in                         |    2 +-
 sample/Makefile.am                                 |    6 +-
 sample/Makefile.in                                 |    8 +-
 sample/ManagedTreeViewDemo.cs                      |    2 +-
 sample/Scribble.cs                                 |    4 +
 sample/Subclass.cs                                 |    2 +-
 sample/gio/Makefile.in                             |    2 +-
 sample/gtk-gio/Makefile.in                         |    2 +-
 sample/opaquetest/Makefile.am                      |    2 +-
 sample/opaquetest/Makefile.in                      |    4 +-
 sample/pixmaps/Makefile.in                         |    2 +-
 sample/test/Makefile.in                            |    2 +-
 sample/valtest/Makefile.in                         |    2 +-
 sources/Makefile.in                                |    2 +-
 938 files changed, 16620 insertions(+), 34102 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 1fb0125..b579b5a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/Makefile.include b/Makefile.include
index b884b96..9d316ca 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -23,12 +23,12 @@ EXTRA_DIST = $(RAW_API) $(SYMBOLS) $(ASSEMBLY).config.in $(METADATA) $(sources)
 
 build_symbols = $(addprefix --symbols=$(srcdir)/, $(SYMBOLS))
 
-$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe
+$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe
 	cp $(srcdir)/$(RAW_API) $(API)
 	chmod u+w $(API)
 	@if test -n '$(METADATA)'; then		\
-		echo "$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
-		$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
+		echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
+		$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
 	fi
 
 api_includes = $(addprefix -I:, $(INCLUDE_API))
diff --git a/NEWS b/NEWS
index a1cb824..acd2f7c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,63 @@
 ===============================================================================
+Gtk# 2.99.2 - 2013-12-04
+===============================================================================
+
+Gtk# 2.99.2 is the third beta release of C# bindings for GTK 3.x.
+
+This version of Gtk# provides bindings for the API exposed by these libraries:
+  * cairo 1.10.0
+  * glib 2.28.0
+  * pango 1.28.3
+  * atk 1.32.0
+  * gdk-pixbuf 2.22.1
+  * gtk+ 3.0.0
+
+There is no API stability guarantee for now, but we try to keep breaking
+changes to a minimum.
+
+This version of Gtk# can be installed in parallel with Gtk# 2.x, and should not
+have any impact on applications using Gtk# 2.x.
+
+New features and enhancements
+-----------------------------
+
+  * Lots of improvements to the code generator, to support GAPI XML converted
+    from GObject Introspection XML (GIR).
+  * generator: Remove redundant class name from method name
+  * generator: Implement attribute to hide method parameters
+  * cairo: Throw ObjectDisposedException when trying to use an object that has
+    been disposed
+  * glib: Add Mutex, RecMutex and Cond types
+  * glib: Add GPollFD and GSource types
+  * glib: Add GDate and GDateTime classes
+  * glib: Map MainContext type and expose members
+
+Changes
+-------
+
+  * Move the fixup tool from the parser to the generator folder
+  * generator: Provide a GType static property for adapters and rename existing
+    GType property to GInterfaceGType
+  * gio: Rename ApplicationFlags.FlagsNone to ApplicationFlags.None
+  * gio: Delete unused DBusInterfaceVTable class
+  * gio: Fix up returns type for several GSettings.List* methods
+  * glib: Install properties before class_init finishes
+  * glib: Remove obsolete Argv-related methods in Marshaller
+  * gtk: Fix TreeView.GetTooltipContext method signature (bxc#14678)
+
+Bug fixes
+---------
+
+  * generator: Dispose ownable method parameters in VM callback (bxc#237)
+  * generator: Dispose ownable parameters in signal callbacks (bxc#237)
+  * atk: Add metadata fixup to avoid crash due to ABI change
+  * cairo: Fix leaks when managed objects are finalized
+  * glib: Fix copy-paste error in Object.FindClassProperty()
+  * gtk: Fix Application to be more robust when embedding mono
+  * gui-thread-check: Add two more methods to the whitelist
+
+
+===============================================================================
 Gtk# 2.99.1 - 2013-09-23
 ===============================================================================
 
diff --git a/README b/README
index 228c79f..c4fc25d 100644
--- a/README
+++ b/README
@@ -21,14 +21,10 @@ Building & Installing Gtk#:
     to make it so mono (and mint) can find your assemblies.  In other words,
     doing something like:
 
-        ./configure --prefix=/the/path/that/was/used/for/mono
+        ./configure --prefix=`pkg-config --variable=prefix mono`
         make
         make install
 
-    (Of course, replace "/the/path/that/was/used/for/mono" with whatever path
-    which was used for Mono.  This might have been "/usr", "/usr/local", or
-    something similar.)
-
     If you are compiling from GIT, you will need libtool and the auto* tools
     and will need to replace the configure above with autogen.sh.
 
diff --git a/aclocal.m4 b/aclocal.m4
index 507188b..7a86b63 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.13.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.13.3 -*- Autoconf -*-
 
 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
 
@@ -8791,7 +8791,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.13'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.13.2], [],
+m4_if([$1], [1.13.3], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -8807,7 +8807,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.13.2])dnl
+[AM_AUTOMAKE_VERSION([1.13.3])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/atk/Atk.metadata b/atk/Atk.metadata
index 978fbcd..b01be85 100644
--- a/atk/Atk.metadata
+++ b/atk/Atk.metadata
@@ -39,4 +39,8 @@
   <attr path="/api/namespace/interface[@cname='AtkText']/*[@name='GetDefaultAttributes']/return-type" name="element_type">AtkAttribute*</attr>
   <attr path="/api/namespace/interface[@cname='AtkEditableText']/*[@name='GetRunAttributes']/return-type" name="element_type">AtkAttribute*</attr>
   <attr path="/api/namespace/interface[@cname='AtkEditableText']/*[@name='GetDefaultAttributes']/return-type" name="element_type">AtkAttribute*</attr>
+
+  <!-- below is a workaround for an ABI break in recent ATK: https://git.gnome.org/browse/atk/commit/?id=b1f70e81ef1d7287dcb2cafa9a115ff5752ece55 -->
+  <remove-node path="/api/namespace/interface//field[@cname='pad1' or @cname='pad2' or @cname='pad3' or @cname='pad4']" />
+
 </metadata>
diff --git a/atk/Makefile.in b/atk/Makefile.in
index f4f9fbf..eef965b 100644
--- a/atk/Makefile.in
+++ b/atk/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -731,12 +731,12 @@ uninstall-am: uninstall-gapiDATA uninstall-local
 	uninstall-local
 
 
-$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe
+$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe
 	cp $(srcdir)/$(RAW_API) $(API)
 	chmod u+w $(API)
 	@if test -n '$(METADATA)'; then		\
-		echo "$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
-		$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
+		echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
+		$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
 	fi
 
 generated-stamp: $(API) $(INCLUDE_API) $(top_builddir)/generator/gapi_codegen.exe $(GAPI_XSD)
diff --git a/atk/glue/Makefile.in b/atk/glue/Makefile.in
index 116db0a..d46e9c2 100644
--- a/atk/glue/Makefile.in
+++ b/atk/glue/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/cairo/Context.cs b/cairo/Context.cs
index b420f77..fd3ea3c 100644
--- a/cairo/Context.cs
+++ b/cairo/Context.cs
@@ -87,6 +87,9 @@ namespace Cairo {
 
 		public Context (IntPtr handle, bool owner)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (!owner)
 				NativeMethods.cairo_reference (handle);
@@ -115,30 +118,45 @@ namespace Cairo {
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<Context> (handle, disposing);
 
-			if (!disposing || handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_destroy (handle);
 			handle = IntPtr.Zero;
 		}
 
+		void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		public void Save ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_save (handle);
 		}
 
 		public void Restore ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_restore (handle);
 		}
 
 		public Antialias Antialias {
-			get { return NativeMethods.cairo_get_antialias (handle); }
-			set { NativeMethods.cairo_set_antialias (handle, value); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_get_antialias (handle);
+			}
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_set_antialias (handle, value);
+			}
 		}
 
 		public Cairo.Status Status {
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_status (handle);
 			}
 		}
@@ -151,10 +169,12 @@ namespace Cairo {
 
 		public Operator Operator {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_operator (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_operator (handle);
 			}
 		}
@@ -162,69 +182,80 @@ namespace Cairo {
 		[Obsolete ("Use SetSourceColor method")]
 		public Color Color {
 			set {
-				NativeMethods.cairo_set_source_rgba (handle, value.R, value.G, value.B, value.A);
+				SetSourceColor (value);
 			}
 		}
 
 		[Obsolete ("Use SetSourceRGBA method")]
 		public Cairo.Color ColorRgb {
 			set {
-				Color = new Color (value.R, value.G, value.B);
+				SetSourceRGBA (value.R, value.G, value.B, value.A);
 			}
 		}
 
 		public double Tolerance {
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_tolerance (handle);
 			}
 
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_tolerance (handle, value);
 			}
 		}
 
 		public Cairo.FillRule FillRule {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_fill_rule (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_fill_rule (handle);
 			}
 		}
 
 		public double LineWidth {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_line_width (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_line_width (handle);
 			}
 		}
 
 		public Cairo.LineCap LineCap {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_line_cap (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_line_cap (handle);
 			}
 		}
 
 		public Cairo.LineJoin LineJoin {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_line_join (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_line_join (handle);
 			}
 		}
 
 		public void SetDash (double [] dashes, double offset)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_dash (handle, dashes, dashes.Length, offset);
 		}
 
@@ -251,27 +282,32 @@ namespace Cairo {
 
 		public void SetSource (Pattern source)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source (handle, source.Handle);
 		}
 
 		public Pattern GetSource ()
 		{
+			CheckDisposed ();
 			var ptr = NativeMethods.cairo_get_source (handle);
 			return Cairo.Pattern.Lookup (ptr, false);
 		}
 
 		public double MiterLimit {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_miter_limit (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_get_miter_limit (handle);
 			}
 		}
 
 		public PointD CurrentPoint {
 			get {
+				CheckDisposed ();
 				double x, y;
 				NativeMethods.cairo_get_current_point (handle, out x, out y);
 				return new PointD (x, y);
@@ -281,10 +317,7 @@ namespace Cairo {
 		[Obsolete ("Use GetTarget/SetTarget")]
 		public Cairo.Surface Target {
 			set {
-				if (handle != IntPtr.Zero)
-					NativeMethods.cairo_destroy (handle);
-
-				handle = NativeMethods.cairo_create (value.Handle);
+				SetTarget (value);
 			}
 
 			get {
@@ -294,11 +327,13 @@ namespace Cairo {
 
 		public Surface GetTarget ()
 		{
+			CheckDisposed ();
 			return Surface.Lookup (NativeMethods.cairo_get_target (handle), false);
 		}
 
 		public void SetTarget (Surface target)
 		{
+			CheckDisposed ();
 			if (handle != IntPtr.Zero)
 				NativeMethods.cairo_destroy (handle);
 			handle = NativeMethods.cairo_create (target.Handle);
@@ -317,46 +352,57 @@ namespace Cairo {
 
 		public ScaledFont GetScaledFont ()
 		{
+			CheckDisposed ();
 			return new ScaledFont (NativeMethods.cairo_get_scaled_font (handle), false);
 		}
 
 		public void SetScaledFont (ScaledFont font)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_scaled_font (handle, font.Handle);
 		}
 
 		public uint ReferenceCount {
-			get { return NativeMethods.cairo_get_reference_count (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_get_reference_count (handle);
+			}
 		}
 
 		public void SetSourceColor (Color color)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source_rgba (handle, color.R, color.G, color.B, color.A);
 		}
 
 		public void SetSourceRGB (double r, double g, double b)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source_rgb (handle, r, g, b);
 		}
 
 		public void SetSourceRGBA (double r, double g, double b, double a)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source_rgba (handle, r, g, b, a);
 		}
 
 		//[Obsolete ("Use SetSource method (with double parameters)")]
 		public void SetSourceSurface (Surface source, int x, int y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source_surface (handle, source.Handle, x, y);
 		}
 
 		public void SetSource (Surface source, double x, double y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source_surface (handle, source.Handle, x, y);
 		}
 
 		public void SetSource (Surface source)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_source_surface (handle, source.Handle, 0, 0);
 		}
 
@@ -364,11 +410,13 @@ namespace Cairo {
 
 		public void NewPath ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_new_path (handle);
 		}
 
 		public void NewSubPath ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_new_sub_path (handle);
 		}
 
@@ -379,6 +427,7 @@ namespace Cairo {
 
 		public void MoveTo (double x, double y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_move_to (handle, x, y);
 		}
 
@@ -389,6 +438,7 @@ namespace Cairo {
 
 		public void LineTo (double x, double y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_line_to (handle, x, y);
 		}
 
@@ -399,6 +449,7 @@ namespace Cairo {
 
 		public void CurveTo (double x1, double y1, double x2, double y2, double x3, double y3)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_curve_to (handle, x1, y1, x2, y2, x3, y3);
 		}
 
@@ -409,6 +460,7 @@ namespace Cairo {
 
 		public void RelMoveTo (double dx, double dy)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_rel_move_to (handle, dx, dy);
 		}
 
@@ -419,6 +471,7 @@ namespace Cairo {
 
 		public void RelLineTo (double dx, double dy)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_rel_line_to (handle, dx, dy);
 		}
 
@@ -429,16 +482,19 @@ namespace Cairo {
 
 		public void RelCurveTo (double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_rel_curve_to (handle, dx1, dy1, dx2, dy2, dx3, dy3);
 		}
 
 		public void Arc (double xc, double yc, double radius, double angle1, double angle2)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_arc (handle, xc, yc, radius, angle1, angle2);
 		}
 
 		public void ArcNegative (double xc, double yc, double radius, double angle1, double angle2)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_arc_negative (handle, xc, yc, radius, angle1, angle2);
 		}
 
@@ -454,31 +510,37 @@ namespace Cairo {
 
 		public void Rectangle (double x, double y, double width, double height)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_rectangle (handle, x, y, width, height);
 		}
 
 		public void ClosePath ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_close_path (handle);
 		}
 
 		public Path CopyPath ()
 		{
+			CheckDisposed ();
 			return new Path (NativeMethods.cairo_copy_path (handle));
 		}
 
 		public Path CopyPathFlat ()
 		{
+			CheckDisposed ();
 			return new Path (NativeMethods.cairo_copy_path_flat (handle));
 		}
 
 		public void AppendPath (Path path)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_append_path (handle, path.Handle);
 		}
 
 		public void PathExtents (out double x1, out double y1, out double x2, out double y2)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_path_extents (handle, out x1, out y1, out x2, out y2);
 		}
 
@@ -487,36 +549,43 @@ namespace Cairo {
 #region Painting Methods
 		public void Paint ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_paint (handle);
 		}
 
 		public void PaintWithAlpha (double alpha)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_paint_with_alpha (handle, alpha);
 		}
 
 		public void Mask (Pattern pattern)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_mask (handle, pattern.Handle);
 		}
 
 		public void MaskSurface (Surface surface, double surface_x, double surface_y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_mask_surface (handle, surface.Handle, surface_x, surface_y);
 		}
 
 		public void Stroke ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_stroke (handle);
 		}
 
 		public void StrokePreserve ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_stroke_preserve (handle);
 		}
 
 		public Rectangle StrokeExtents ()
 		{
+			CheckDisposed ();
 			double x1, y1, x2, y2;
 			NativeMethods.cairo_stroke_extents (handle, out x1, out y1, out x2, out y2);
 			return new Rectangle (x1, y1, x2 - x1, y2 - y1);
@@ -524,11 +593,13 @@ namespace Cairo {
 
 		public void Fill ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_fill (handle);
 		}
 
 		public Rectangle FillExtents ()
 		{
+			CheckDisposed ();
 			double x1, y1, x2, y2;
 			NativeMethods.cairo_fill_extents (handle, out x1, out y1, out x2, out y2);
 			return new Rectangle (x1, y1, x2 - x1, y2 - y1);
@@ -536,6 +607,7 @@ namespace Cairo {
 
 		public void FillPreserve ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_fill_preserve (handle);
 		}
 
@@ -543,51 +615,61 @@ namespace Cairo {
 
 		public void Clip ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_clip (handle);
 		}
 
 		public void ClipPreserve ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_clip_preserve (handle);
 		}
 
 		public void ResetClip ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_reset_clip (handle);
 		}
 
 		public bool InStroke (double x, double y)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_in_stroke (handle, x, y);
 		}
 
 		public bool InClip (double x, double y)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_in_clip (handle, x, y);
 		}
 
 		public bool InFill (double x, double y)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_in_fill (handle, x, y);
 		}
 
 		public Pattern PopGroup ()
 		{
+			CheckDisposed ();
 			return Pattern.Lookup (NativeMethods.cairo_pop_group (handle), true);
 		}
 
 		public void PopGroupToSource ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_pop_group_to_source (handle);
 		}
 
 		public void PushGroup ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_push_group (handle);
 		}
 
 		public void PushGroup (Content content)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_push_group_with_content (handle, content);
 		}
 
@@ -600,80 +682,91 @@ namespace Cairo {
 
 		public Surface GetGroupTarget ()
 		{
+			CheckDisposed ();
 			IntPtr surface = NativeMethods.cairo_get_group_target (handle);
 			return Surface.Lookup (surface, false);
 		}
 
 		public void Rotate (double angle)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_rotate (handle, angle);
 		}
 
 		public void Scale (double sx, double sy)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_scale (handle, sx, sy);
 		}
 
 		public void Translate (double tx, double ty)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_translate (handle, tx, ty);
 		}
 
 		public void Transform (Matrix m)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_transform (handle, m);
 		}
 
 		[Obsolete("Use UserToDevice instead")]
 		public void TransformPoint (ref double x, ref double y)
 		{
-			NativeMethods.cairo_user_to_device (handle, ref x, ref y);
+			UserToDevice (ref x, ref y);
 		}
 
 		[Obsolete("Use UserToDeviceDistance instead")]
 		public void TransformDistance (ref double dx, ref double dy)
 		{
-			NativeMethods.cairo_user_to_device_distance (handle, ref dx, ref dy);
+			UserToDevice (ref dx, ref dy);
 		}
 
 		[Obsolete("Use DeviceToUser instead")]
 		public void InverseTransformPoint (ref double x, ref double y)
 		{
-			NativeMethods.cairo_device_to_user (handle, ref x, ref y);
+			UserToDevice (ref x, ref y);
 		}
 
 		[Obsolete("Use DeviceToUserDistance instead")]
 		public void InverseTransformDistance (ref double dx, ref double dy)
 		{
-			NativeMethods.cairo_device_to_user_distance (handle, ref dx, ref dy);
+			DeviceToUserDistance (ref dx, ref dy);
 		}
 
 		public void UserToDevice (ref double x, ref double y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_user_to_device (handle, ref x, ref y);
 		}
 
 		public void UserToDeviceDistance (ref double dx, ref double dy)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_user_to_device_distance (handle, ref dx, ref dy);
 		}
 
 		public void DeviceToUser (ref double x, ref double y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_device_to_user (handle, ref x, ref y);
 		}
 
 		public void DeviceToUserDistance (ref double dx, ref double dy)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_device_to_user_distance (handle, ref dx, ref dy);
 		}
 
 		public Matrix Matrix {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_set_matrix (handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				Matrix m = new Matrix ();
 				NativeMethods.cairo_get_matrix (handle, m);
 				return m;
@@ -682,11 +775,13 @@ namespace Cairo {
 
 		public void SetFontSize (double scale)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_font_size (handle, scale);
 		}
 
 		public void IdentityMatrix ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_identity_matrix (handle);
 		}
 
@@ -703,20 +798,28 @@ namespace Cairo {
 
 		public Matrix FontMatrix {
 			get {
+				CheckDisposed ();
 				Matrix m;
 				NativeMethods.cairo_get_font_matrix (handle, out m);
 				return m;
 			}
-			set { NativeMethods.cairo_set_font_matrix (handle, value); }
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_set_font_matrix (handle, value);
+			}
 		}
 
 		public FontOptions FontOptions {
 			get {
+				CheckDisposed ();
 				FontOptions options = new FontOptions ();
 				NativeMethods.cairo_get_font_options (handle, options.Handle);
 				return options;
 			}
-			set { NativeMethods.cairo_set_font_options (handle, value.Handle); }
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_set_font_options (handle, value.Handle);
+			}
 		}
 
 		[StructLayout(LayoutKind.Sequential)]
@@ -757,6 +860,8 @@ namespace Cairo {
 
 		public void ShowGlyphs (Glyph[] glyphs)
 		{
+			CheckDisposed ();
+
 			IntPtr ptr;
 
 			ptr = FromGlyphToUnManagedMemory (glyphs);
@@ -780,6 +885,8 @@ namespace Cairo {
 
 		public void GlyphPath (Glyph[] glyphs)
 		{
+			CheckDisposed ();
+
 			IntPtr ptr;
 
 			ptr = FromGlyphToUnManagedMemory (glyphs);
@@ -787,11 +894,11 @@ namespace Cairo {
 			NativeMethods.cairo_glyph_path (handle, ptr, glyphs.Length);
 
 			Marshal.FreeHGlobal (ptr);
-
 		}
 
 		public FontExtents FontExtents {
 			get {
+				CheckDisposed ();
 				FontExtents f_extents;
 				NativeMethods.cairo_font_extents (handle, out f_extents);
 				return f_extents;
@@ -800,6 +907,7 @@ namespace Cairo {
 
 		public void CopyPage ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_copy_page (handle);
 		}
 
@@ -821,21 +929,25 @@ namespace Cairo {
 
 		public FontFace GetContextFontFace ()
 		{
+			CheckDisposed ();
 			return Cairo.FontFace.Lookup (NativeMethods.cairo_get_font_face (handle), false);
 		}
 
 		public void SetContextFontFace (FontFace value)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_set_font_face (handle, value == null ? IntPtr.Zero : value.Handle);
 		}
 
 		public void SelectFontFace (string family, FontSlant slant, FontWeight weight)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_select_font_face (handle, family, slant, weight);
 		}
 
 		public void ShowPage ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_show_page (handle);
 		}
 
@@ -860,26 +972,31 @@ namespace Cairo {
 
 		public void ShowText (string str)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_show_text (handle, TerminateUtf8 (str));
 		}
 
 		public void ShowText (byte[] utf8)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_show_text (handle, TerminateUtf8 (utf8));
 		}
 
 		public void TextPath (string str)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_text_path (handle, TerminateUtf8 (str));
 		}
 
 		public void TextPath (byte[] utf8)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_text_path (handle, TerminateUtf8 (utf8));
 		}
 
 		public TextExtents TextExtents (string s)
 		{
+			CheckDisposed ();
 			TextExtents extents;
 			NativeMethods.cairo_text_extents (handle, TerminateUtf8 (s), out extents);
 			return extents;
@@ -887,6 +1004,7 @@ namespace Cairo {
 
 		public TextExtents TextExtents(byte[] utf8)
 		{
+			CheckDisposed ();
 			TextExtents extents;
 			NativeMethods.cairo_text_extents (handle, TerminateUtf8 (utf8), out extents);
 			return extents;
@@ -894,6 +1012,8 @@ namespace Cairo {
 
 		public TextExtents GlyphExtents (Glyph[] glyphs)
 		{
+			CheckDisposed ();
+
 			IntPtr ptr = FromGlyphToUnManagedMemory (glyphs);
 
 			TextExtents extents;
@@ -911,7 +1031,10 @@ namespace Cairo {
 		}
 
 		public bool HasCurrentPoint {
-			get { return NativeMethods.cairo_has_current_point (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_has_current_point (handle);
+			}
 		}
 	}
 }
diff --git a/cairo/Device.cs b/cairo/Device.cs
index 06d31c5..fb5dde5 100644
--- a/cairo/Device.cs
+++ b/cairo/Device.cs
@@ -41,11 +41,15 @@ namespace Cairo
 
 		internal Device (IntPtr handle)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = NativeMethods.cairo_device_reference (handle);
 		}
 
 		public Status Acquire ()
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_device_acquire (handle);
 		}
 
@@ -57,27 +61,42 @@ namespace Cairo
 			GC.SuppressFinalize (this);
 		}
 
+		void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		public void Finish ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_device_finish (handle);
 		}
 
 		public void Flush ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_device_flush (handle);
 		}
 
 		public void Release ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_device_release (handle);
 		}
 
 		public Status Status {
-			get { return NativeMethods.cairo_device_status (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_device_status (handle);
+			}
 		}
 
 		public DeviceType Type {
-			get { return NativeMethods.cairo_device_get_type (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_device_get_type (handle);
+			}
 		}
 
 	}
diff --git a/cairo/FontFace.cs b/cairo/FontFace.cs
index 19d8163..b2c141b 100644
--- a/cairo/FontFace.cs
+++ b/cairo/FontFace.cs
@@ -61,13 +61,19 @@ namespace Cairo
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<FontFace> (handle, disposing);
 
-			if (!disposing|| handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_font_face_destroy (handle);
 			handle = IntPtr.Zero;
 		}
 
+		void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		[Obsolete]
 		public FontFace (IntPtr handle) : this (handle, true)
 		{
@@ -75,6 +81,9 @@ namespace Cairo
 
 		public FontFace (IntPtr handle, bool owned)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (!owned)
 				NativeMethods.cairo_font_face_reference (handle);
@@ -90,18 +99,23 @@ namespace Cairo
 
 		public Status Status {
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_font_face_status (handle);
 			}
 		}
 		
 		public FontType FontType {
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_font_face_get_type (handle);
 			}
 		}
 
 		public uint ReferenceCount {
-			get { return NativeMethods.cairo_font_face_get_reference_count (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_font_face_get_reference_count (handle);
+			}
 		}
 	}
 }
diff --git a/cairo/FontOptions.cs b/cairo/FontOptions.cs
index 5269d54..e1fe2e5 100644
--- a/cairo/FontOptions.cs
+++ b/cairo/FontOptions.cs
@@ -45,6 +45,9 @@ namespace Cairo
 
 		internal FontOptions (IntPtr handle)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (CairoDebug.Enabled)
 				CairoDebug.OnAllocated (handle);
@@ -52,6 +55,7 @@ namespace Cairo
 
 		public FontOptions Copy ()
 		{
+			CheckDisposed ();
 			return new FontOptions (NativeMethods.cairo_font_options_copy (handle));
 		}
 
@@ -72,13 +76,19 @@ namespace Cairo
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<FontOptions> (handle, disposing);
 
-			if (!disposing|| handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_font_options_destroy (handle);
 			handle = IntPtr.Zero;
 		}
 
+		void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		public static bool operator == (FontOptions options, FontOptions other)
 		{
 			return Equals (options, other);
@@ -112,31 +122,59 @@ namespace Cairo
 		{
 			if (other == null)
 				throw new ArgumentNullException ("other");
+			CheckDisposed ();
 			NativeMethods.cairo_font_options_merge (handle, other.Handle);
 		}
 
 		public Antialias Antialias {
-			get { return NativeMethods.cairo_font_options_get_antialias (handle); }
-			set { NativeMethods.cairo_font_options_set_antialias (handle, value); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_font_options_get_antialias (handle);
+			}
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_font_options_set_antialias (handle, value);
+			}
 		}
 
 		public HintMetrics HintMetrics {
-			get { return NativeMethods.cairo_font_options_get_hint_metrics (handle);}
-			set { NativeMethods.cairo_font_options_set_hint_metrics (handle, value); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_font_options_get_hint_metrics (handle);
+			}
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_font_options_set_hint_metrics (handle, value);
+			}
 		}
 
 		public HintStyle HintStyle {
-			get { return NativeMethods.cairo_font_options_get_hint_style (handle);}
-			set { NativeMethods.cairo_font_options_set_hint_style (handle, value); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_font_options_get_hint_style (handle);
+			}
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_font_options_set_hint_style (handle, value);
+			}
 		}
 
 		public Status Status {
-			get { return NativeMethods.cairo_font_options_status (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_font_options_status (handle);
+			}
 		}
 
 		public SubpixelOrder SubpixelOrder {
-			get { return NativeMethods.cairo_font_options_get_subpixel_order (handle);}
-			set { NativeMethods.cairo_font_options_set_subpixel_order (handle, value); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_font_options_get_subpixel_order (handle);
+			}
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_font_options_set_subpixel_order (handle, value);
+			}
 		}
 	}
 }
diff --git a/cairo/Gradient.cs b/cairo/Gradient.cs
index 0fb617e..25bcef6 100644
--- a/cairo/Gradient.cs
+++ b/cairo/Gradient.cs
@@ -44,6 +44,7 @@ namespace Cairo {
 
 		public int ColorStopCount {
 			get {
+				CheckDisposed ();
 				int cnt;
 				NativeMethods.cairo_pattern_get_color_stop_count (Handle, out cnt);
 				return cnt;
@@ -52,12 +53,14 @@ namespace Cairo {
 
 		public Status AddColorStop (double offset, Color c)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_pattern_add_color_stop_rgba (Handle, offset, c.R, c.G, c.B, c.A);
 			return Status;
 		}
 
 		public Status AddColorStopRgb (double offset, Color c)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_pattern_add_color_stop_rgb (Handle, offset, c.R, c.G, c.B);
 			return Status;
 		}
diff --git a/cairo/ImageSurface.cs b/cairo/ImageSurface.cs
index 98143fe..3b0678e 100644
--- a/cairo/ImageSurface.cs
+++ b/cairo/ImageSurface.cs
@@ -70,11 +70,16 @@ namespace Cairo {
 		}
 
 		public int Width {
-			get { return NativeMethods.cairo_image_surface_get_width (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_image_surface_get_width (Handle); }
 		}
 
 		public int Height {
-			get { return NativeMethods.cairo_image_surface_get_height (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_image_surface_get_height (Handle);
+			}
 		}
 
 		public byte[] Data {
@@ -89,16 +94,23 @@ namespace Cairo {
 
 		public IntPtr DataPtr {
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_image_surface_get_data (Handle);
 			}
 		}
 
 		public Format Format {
-			get { return NativeMethods.cairo_image_surface_get_format (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_image_surface_get_format (Handle);
+			}
 		}
 
 		public int Stride {
-			get { return NativeMethods.cairo_image_surface_get_stride (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_image_surface_get_stride (Handle);
+			}
 		}
 	}
 }
diff --git a/cairo/LinearGradient.cs b/cairo/LinearGradient.cs
index 85fdea8..477418f 100644
--- a/cairo/LinearGradient.cs
+++ b/cairo/LinearGradient.cs
@@ -44,6 +44,7 @@ namespace Cairo {
 
 		public PointD[] LinearPoints {
 			get {
+				CheckDisposed ();
 				double x0, y0, x1, y1;
 				PointD[] points = new PointD [2];
 
diff --git a/cairo/Makefile.in b/cairo/Makefile.in
index b22864b..0dbc60b 100644
--- a/cairo/Makefile.in
+++ b/cairo/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/cairo/PSSurface.cs b/cairo/PSSurface.cs
index 9d6b73b..fa6382c 100644
--- a/cairo/PSSurface.cs
+++ b/cairo/PSSurface.cs
@@ -43,21 +43,25 @@ namespace Cairo {
 
 		public void BeginPageSetup ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_ps_surface_dsc_begin_page_setup (Handle);
 		}
 
 		public void BeginSetup ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_ps_surface_dsc_begin_setup (Handle);
 		}
 
 		public void DscComment (string comment)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_ps_surface_dsc_comment (Handle, comment);
 		}
 
 		public void SetSize (double width, double height)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_ps_surface_set_size (Handle, width, height);
 		}
 	}
diff --git a/cairo/Path.cs b/cairo/Path.cs
index f5007fe..22cbb13 100644
--- a/cairo/Path.cs
+++ b/cairo/Path.cs
@@ -40,6 +40,9 @@ namespace Cairo {
 
 		internal Path (IntPtr handle)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (CairoDebug.Enabled)
 				CairoDebug.OnAllocated (handle);
@@ -63,7 +66,7 @@ namespace Cairo {
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<Path> (handle, disposing);
 
-			if (!disposing || handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_path_destroy (handle);
diff --git a/cairo/Pattern.cs b/cairo/Pattern.cs
index bc0a962..31ae26f 100644
--- a/cairo/Pattern.cs
+++ b/cairo/Pattern.cs
@@ -64,6 +64,9 @@ namespace Cairo {
 		
 		internal Pattern (IntPtr handle, bool owned)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			Handle = handle;
 			if (!owned)
 				NativeMethods.cairo_pattern_reference (handle);
@@ -85,6 +88,7 @@ namespace Cairo {
 		[Obsolete]
 		protected void Reference ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_pattern_reference (pattern);
 		}
 
@@ -99,13 +103,19 @@ namespace Cairo {
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<Pattern> (Handle, disposing);
 
-			if (!disposing|| Handle == IntPtr.Zero)
+			if (Handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_pattern_destroy (Handle);
 			Handle = IntPtr.Zero;
 		}
 
+		protected void CheckDisposed ()
+		{
+			if (Handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		[Obsolete ("Use Dispose()")]
 		public void Destroy ()
 		{
@@ -114,21 +124,32 @@ namespace Cairo {
 
 		public Status Status
 		{
-			get { return NativeMethods.cairo_pattern_status (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_pattern_status (Handle);
+			}
 		}
 
 		public Extend Extend
 		{
-			get { return NativeMethods.cairo_pattern_get_extend (Handle); }
-			set { NativeMethods.cairo_pattern_set_extend (Handle, value); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_pattern_get_extend (Handle);
+			}
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_pattern_set_extend (Handle, value);
+			}
 		}
 
 		public Matrix Matrix {
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_pattern_set_matrix (Handle, value);
 			}
 
 			get {
+				CheckDisposed ();
 				Matrix m = new Matrix ();
 				NativeMethods.cairo_pattern_get_matrix (Handle, m);
 				return m;
@@ -148,7 +169,10 @@ namespace Cairo {
 		}
 
 		public PatternType PatternType {
-			get { return NativeMethods.cairo_pattern_get_type (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_pattern_get_type (Handle);
+			}
 		}
 	}
 }
diff --git a/cairo/PdfSurface.cs b/cairo/PdfSurface.cs
index c980f24..9964853 100644
--- a/cairo/PdfSurface.cs
+++ b/cairo/PdfSurface.cs
@@ -43,6 +43,7 @@ namespace Cairo {
 
 		public void SetSize (double width, double height)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_pdf_surface_set_size (Handle, width, height);
 		}
 	}
diff --git a/cairo/Region.cs b/cairo/Region.cs
index cd0ba33..f1d914b 100644
--- a/cairo/Region.cs
+++ b/cairo/Region.cs
@@ -52,6 +52,9 @@ namespace Cairo
 
 		public Region (IntPtr handle, bool owned)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (!owned)
 				NativeMethods.cairo_region_reference (handle);
@@ -75,6 +78,7 @@ namespace Cairo
 
 		public Region Copy ()
 		{
+			CheckDisposed ();
 			return new Region (NativeMethods.cairo_region_copy (Handle), true);
 		}
 
@@ -94,13 +98,19 @@ namespace Cairo
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<Region> (handle, disposing);
 
-			if (!disposing|| handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_region_destroy (Handle);
 			handle = IntPtr.Zero;
 		}
 
+		void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		public override bool Equals (object obj)
 		{
 			return (obj is Region) && NativeMethods.cairo_region_equal (Handle, (obj as Region).Handle);
@@ -112,11 +122,14 @@ namespace Cairo
 		}
 
 		public Status Status {
-			get { return NativeMethods.cairo_region_status (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_region_status (Handle); }
 		}
 
 		public RectangleInt Extents {
 			get {
+				CheckDisposed ();
 				RectangleInt result;
 				NativeMethods.cairo_region_get_extents (Handle, out result);
 				return result;
@@ -124,72 +137,90 @@ namespace Cairo
 		}
 
 		public int NumRectangles {
-			get { return NativeMethods.cairo_region_num_rectangles (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_region_num_rectangles (Handle);
+			}
 		}
 
 		public RectangleInt GetRectangle (int nth)
 		{
+			CheckDisposed ();
 			RectangleInt val;
 			NativeMethods.cairo_region_get_rectangle (Handle, nth, out val);
 			return val;
 		}
 
 		public bool IsEmpty {
-			get { return NativeMethods.cairo_region_is_empty (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_region_is_empty (Handle);
+			}
 		}
 
 		public RegionOverlap ContainsPoint (RectangleInt rectangle)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_contains_rectangle (Handle, ref rectangle);
 		}
 
 		public bool ContainsPoint (int x, int y)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_contains_point (Handle, x, y);
 		}
 
 		public void Translate (int dx, int dy)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_region_translate (Handle, dx, dy);
 		}
 
 		public Status Subtract (Region other)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_subtract (Handle, other.Handle);
 		}
 
 		public Status SubtractRectangle (RectangleInt rectangle)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_subtract_rectangle (Handle, ref rectangle);
 		}
 
 		public Status Intersect (Region other)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_intersect (Handle, other.Handle);
 		}
 
 		public Status IntersectRectangle (RectangleInt rectangle)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_intersect_rectangle (Handle, ref rectangle);
 		}
 
 		public Status Union (Region other)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_union (Handle, other.Handle);
 		}
 
 		public Status UnionRectangle (RectangleInt rectangle)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_union_rectangle (Handle, ref rectangle);
 		}
 
 		public Status Xor (Region other)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_xor (Handle, other.Handle);
 		}
 
 		public Status XorRectangle (RectangleInt rectangle)
 		{
+			CheckDisposed ();
 			return NativeMethods.cairo_region_xor_rectangle (Handle, ref rectangle);
 		}
 	}
diff --git a/cairo/ScaledFont.cs b/cairo/ScaledFont.cs
index 9371946..25be1cd 100644
--- a/cairo/ScaledFont.cs
+++ b/cairo/ScaledFont.cs
@@ -34,6 +34,9 @@ namespace Cairo {
 
 		internal ScaledFont (IntPtr handle, bool owner)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (!owner)
 				NativeMethods.cairo_scaled_font_reference (handle);
@@ -59,6 +62,7 @@ namespace Cairo {
 
 		public FontExtents FontExtents {
 			get {
+				CheckDisposed ();
 				FontExtents extents;
 				NativeMethods.cairo_scaled_font_extents (handle, out extents);
 				return extents;
@@ -67,6 +71,7 @@ namespace Cairo {
 
 		public Matrix FontMatrix {
 			get {
+				CheckDisposed ();
 				Matrix m;
 				NativeMethods.cairo_scaled_font_get_font_matrix (handle, out m);
 				return m;
@@ -75,12 +80,14 @@ namespace Cairo {
 
 		public FontType FontType {
 			get {
+				CheckDisposed ();
 				return NativeMethods.cairo_scaled_font_get_type (handle);
 			}
 		}
 
 		public TextExtents GlyphExtents (Glyph[] glyphs)
 		{
+			CheckDisposed ();
 			IntPtr ptr = Context.FromGlyphToUnManagedMemory (glyphs);
 			TextExtents extents;
 
@@ -92,7 +99,10 @@ namespace Cairo {
 	
 		public Status Status
 		{
-			get { return NativeMethods.cairo_scaled_font_status (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_scaled_font_status (handle);
+			}
 		}
 
 		public void Dispose ()
@@ -106,16 +116,23 @@ namespace Cairo {
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<ScaledFont> (handle, disposing);
 
-			if (!disposing|| handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_scaled_font_destroy (handle);
 			handle = IntPtr.Zero;
 		}
 
+		void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		[Obsolete]
 		protected void Reference ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_scaled_font_reference (handle);
 		}
 	}
diff --git a/cairo/SolidPattern.cs b/cairo/SolidPattern.cs
index 875b3fb..c435b67 100644
--- a/cairo/SolidPattern.cs
+++ b/cairo/SolidPattern.cs
@@ -62,6 +62,7 @@ namespace Cairo {
 
 		public Color Color {
 			get {
+				CheckDisposed ();
 				double red, green, blue, alpha;
 				NativeMethods.cairo_pattern_get_rgba  (Handle, out red, out green, out blue, out alpha);
 				return new Color (red, green, blue, alpha);
diff --git a/cairo/Surface.cs b/cairo/Surface.cs
index 6fa8c02..9592303 100644
--- a/cairo/Surface.cs
+++ b/cairo/Surface.cs
@@ -51,12 +51,15 @@ namespace Cairo {
 		}
 
 		[Obsolete]
-		protected Surface (IntPtr ptr) : this (ptr, true)
+		protected Surface (IntPtr handle) : this (handle, true)
 		{
 		}
 
 		protected Surface (IntPtr handle, bool owner)
 		{
+			if (handle == IntPtr.Zero)
+				throw new ArgumentException ("handle should not be NULL", "handle");
+
 			this.handle = handle;
 			if (!owner)
 				NativeMethods.cairo_surface_reference (handle);
@@ -144,31 +147,41 @@ namespace Cairo {
 			if (!disposing || CairoDebug.Enabled)
 				CairoDebug.OnDisposed<Surface> (handle, disposing);
 
-			if (!disposing || handle == IntPtr.Zero)
+			if (handle == IntPtr.Zero)
 				return;
 
 			NativeMethods.cairo_surface_destroy (handle);
 			handle = IntPtr.Zero;
 		}
 
+		protected void CheckDisposed ()
+		{
+			if (handle == IntPtr.Zero)
+				throw new ObjectDisposedException ("Object has already been disposed");
+		}
+
 		public Status Finish ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_surface_finish (handle);
 			return Status;
 		}
 
 		public void Flush ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_surface_flush (handle);
 		}
 
 		public void MarkDirty ()
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_surface_mark_dirty (Handle);
 		}
 
 		public void MarkDirty (Rectangle rectangle)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_surface_mark_dirty_rectangle (Handle, (int)rectangle.X, (int)rectangle.Y, (int)rectangle.Width, (int)rectangle.Height);
 		}
 
@@ -180,12 +193,14 @@ namespace Cairo {
 
 		public PointD DeviceOffset {
 			get {
+				CheckDisposed ();
 				double x, y;
 				NativeMethods.cairo_surface_get_device_offset (handle, out x, out y);
 				return new PointD (x, y);
 			}
 
 			set {
+				CheckDisposed ();
 				NativeMethods.cairo_surface_set_device_offset (handle, value.X, value.Y);
 			}
 		}
@@ -198,11 +213,13 @@ namespace Cairo {
 
 		public void SetFallbackResolution (double x, double y)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_surface_set_fallback_resolution (handle, x, y);
 		}
 
 		public void WriteToPng (string filename)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_surface_write_to_png (handle, filename);
 		}
 
@@ -214,19 +231,29 @@ namespace Cairo {
 		}
 
 		public Status Status {
-			get { return NativeMethods.cairo_surface_status (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_surface_status (handle);
+			}
 		}
 
 		public Content Content {
-			get { return NativeMethods.cairo_surface_get_content (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_surface_get_content (handle);
+			}
 		}
 
 		public SurfaceType SurfaceType {
-			get { return NativeMethods.cairo_surface_get_type (handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_surface_get_type (handle);
+			}
 		}
 
 		public uint ReferenceCount {
-			get { return NativeMethods.cairo_surface_get_reference_count (handle); }
+			get {
+				return NativeMethods.cairo_surface_get_reference_count (handle); }
 		}
 	}
 }
diff --git a/cairo/SurfacePattern.cs b/cairo/SurfacePattern.cs
index 5ba188f..a47ca13 100644
--- a/cairo/SurfacePattern.cs
+++ b/cairo/SurfacePattern.cs
@@ -43,8 +43,14 @@ namespace Cairo {
 		}
 
 		public Filter Filter {
-			set { NativeMethods.cairo_pattern_set_filter (Handle, value); }
-			get { return NativeMethods.cairo_pattern_get_filter (Handle); }
+			set {
+				CheckDisposed ();
+				NativeMethods.cairo_pattern_set_filter (Handle, value);
+			}
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_pattern_get_filter (Handle);
+			}
 		}
 	}
 }
diff --git a/cairo/SvgSurface.cs b/cairo/SvgSurface.cs
index 4182950..ad0d7bc 100644
--- a/cairo/SvgSurface.cs
+++ b/cairo/SvgSurface.cs
@@ -43,6 +43,7 @@ namespace Cairo {
 
 		public void RestrictToVersion (SvgVersion version)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_svg_surface_restrict_to_version (Handle, version);
 		}
 	}
diff --git a/cairo/XcbSurface.cs b/cairo/XcbSurface.cs
index 142ebf9..be025d3 100644
--- a/cairo/XcbSurface.cs
+++ b/cairo/XcbSurface.cs
@@ -48,6 +48,7 @@ namespace Cairo {
 
 		public void SetSize (int width, int height)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_xcb_surface_set_size (Handle, width, height);
 		}
 	}
diff --git a/cairo/XlibSurface.cs b/cairo/XlibSurface.cs
index c0003a4..cd19359 100644
--- a/cairo/XlibSurface.cs
+++ b/cairo/XlibSurface.cs
@@ -55,40 +55,63 @@ namespace Cairo {
 
 		public void SetDrawable (IntPtr drawable, int width, int height)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_xlib_surface_set_drawable (Handle, drawable, width, height);
 		}
 
 		public void SetSize (int width, int height)
 		{
+			CheckDisposed ();
 			NativeMethods.cairo_xlib_surface_set_size (Handle, width, height);
 		}
 
 		public int Depth {
-			get { return NativeMethods.cairo_xlib_surface_get_depth (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_depth (Handle);
+			}
 		}
 		
 		public IntPtr Display {
-			get { return NativeMethods.cairo_xlib_surface_get_display (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_display (Handle);
+			}
 		}
 
 		public IntPtr Drawable {
-			get { return NativeMethods.cairo_xlib_surface_get_drawable (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_drawable (Handle);
+			}
 		}
 
 		public int Height {
-			get { return NativeMethods.cairo_xlib_surface_get_height (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_height (Handle);
+			}
 		}
 
 		public IntPtr Screen {
-			get { return NativeMethods.cairo_xlib_surface_get_screen (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_screen (Handle);
+			}
 		}
 
 		public IntPtr Visual {
-			get { return NativeMethods.cairo_xlib_surface_get_visual (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_visual (Handle);
+			}
 		}
 
 		public int Width {
-			get { return NativeMethods.cairo_xlib_surface_get_width (Handle); }
+			get {
+				CheckDisposed ();
+				return NativeMethods.cairo_xlib_surface_get_width (Handle);
+			}
 		}
 
 	}
diff --git a/config.guess b/config.guess
index d622a44..b79252d 100755
--- a/config.guess
+++ b/config.guess
@@ -1,14 +1,12 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2013-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful, but
@@ -22,19 +20,17 @@ timestamp='2012-02-10'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches at gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 #
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches at gnu.org.
+
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
@@ -54,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -138,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -200,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 	echo "${machine}-${os}${release}"
 	exit ;;
+    *:Bitrig:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	exit ;;
     *:OpenBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -302,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
 	exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
 	echo arm-unknown-riscos
 	exit ;;
     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -801,6 +820,9 @@ EOF
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
 	exit ;;
+    *:MINGW64*:*)
+	echo ${UNAME_MACHINE}-pc-mingw64
+	exit ;;
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
@@ -852,21 +874,21 @@ EOF
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -879,59 +901,54 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -950,54 +967,63 @@ EOF
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
+    or1k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     or32:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
+	echo sparc-unknown-linux-${LIBC}
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+	echo hppa64-unknown-linux-${LIBC}
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
+	echo powerpc64-unknown-linux-${LIBC}
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1201,6 +1227,9 @@ EOF
     BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
 	echo i586-pc-haiku
 	exit ;;
+    x86_64:Haiku:*:*)
+	echo x86_64-unknown-haiku
+	exit ;;
     SX-4:SUPER-UX:*:*)
 	echo sx4-nec-superux${UNAME_RELEASE}
 	exit ;;
@@ -1227,19 +1256,21 @@ EOF
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		case $UNAME_PROCESSOR in
+		    i386) UNAME_PROCESSOR=x86_64 ;;
+		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		esac
+	    fi
+	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1256,7 +1287,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1330,9 +1361,6 @@ EOF
 	exit ;;
 esac
 
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
 eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
diff --git a/config.sub b/config.sub
index 6205f84..9633db7 100755
--- a/config.sub
+++ b/config.sub
@@ -1,24 +1,18 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-04-18'
+timestamp='2013-08-10'
 
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, see <http://www.gnu.org/licenses/>.
@@ -26,11 +20,12 @@ timestamp='2012-04-18'
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
 # configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
 
 
-# Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches at gnu.org.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -73,9 +68,7 @@ Report bugs and patches to <config-patches at gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
-Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,7 +116,7 @@ esac
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
   knetbsd*-gnu* | netbsd*-gnu* | \
   kopensolaris*-gnu* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
@@ -156,7 +149,7 @@ case $os in
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray | -microblaze)
+	-apple | -axis | -knuth | -cray | -microblaze*)
 		os=
 		basic_machine=$1
 		;;
@@ -259,10 +252,12 @@ case $basic_machine in
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-        | be32 | be64 \
+	| arc | arceb \
+	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+	| avr | avr32 \
+	| be32 | be64 \
 	| bfin \
-	| c4x | clipper \
+	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
 	| fido | fr30 | frv \
@@ -273,7 +268,7 @@ case $basic_machine in
 	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore | mep | metag \
+	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
 	| mips | mipsbe | mipseb | mipsel | mipsle \
 	| mips16 \
 	| mips64 | mips64el \
@@ -291,16 +286,17 @@ case $basic_machine in
 	| mipsisa64r2 | mipsisa64r2el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipsr5900 | mipsr5900el \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
 	| moxie \
 	| mt \
 	| msp430 \
 	| nds32 | nds32le | nds32be \
-	| nios | nios2 \
+	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
 	| open8 \
-	| or32 \
+	| or1k | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
@@ -370,13 +366,13 @@ case $basic_machine in
 	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| clipper-* | craynv-* | cydra-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -389,7 +385,8 @@ case $basic_machine in
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| microblaze-* | microblazeel-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -407,12 +404,13 @@ case $basic_machine in
 	| mipsisa64r2-* | mipsisa64r2el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipsr5900-* | mipsr5900el-* \
 	| mipstx39-* | mipstx39el-* \
 	| mmix-* \
 	| mt-* \
 	| msp430-* \
 	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* \
+	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
 	| orion-* \
@@ -788,11 +786,15 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
-	microblaze)
+	microblaze*)
 		basic_machine=microblaze-xilinx
 		;;
+	mingw64)
+		basic_machine=x86_64-pc
+		os=-mingw64
+		;;
 	mingw32)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-mingw32
 		;;
 	mingw32ce)
@@ -828,7 +830,7 @@ case $basic_machine in
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-msys
 		;;
 	mvs)
@@ -1019,7 +1021,11 @@ case $basic_machine in
 		basic_machine=i586-unknown
 		os=-pw32
 		;;
-	rdos)
+	rdos | rdos64)
+		basic_machine=x86_64-pc
+		os=-rdos
+		;;
+	rdos32)
 		basic_machine=i386-pc
 		os=-rdos
 		;;
@@ -1346,21 +1352,21 @@ case $os in
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-	      | -sym* | -kopensolaris* \
+	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
 	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-android* \
-	      | -linux-newlib* | -linux-uclibc* \
+	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1492,9 +1498,6 @@ case $os in
 	-aros*)
 		os=-aros
 		;;
-	-kaos*)
-		os=-kaos
-		;;
 	-zvmoe)
 		os=-zvmoe
 		;;
@@ -1543,6 +1546,9 @@ case $basic_machine in
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	c8051-*)
+		os=-elf
+		;;
 	hexagon-*)
 		os=-elf
 		;;
@@ -1586,6 +1592,9 @@ case $basic_machine in
 	mips*-*)
 		os=-elf
 		;;
+	or1k-*)
+		os=-elf
+		;;
 	or32-*)
 		os=-coff
 		;;
diff --git a/configure b/configure
index 8ff9b57..a18e705 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gtk-sharp 2.99.1.
+# Generated by GNU Autoconf 2.69 for gtk-sharp 2.99.2.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='gtk-sharp'
 PACKAGE_TARNAME='gtk-sharp'
-PACKAGE_VERSION='2.99.1'
-PACKAGE_STRING='gtk-sharp 2.99.1'
+PACKAGE_VERSION='2.99.2'
+PACKAGE_STRING='gtk-sharp 2.99.2'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1373,7 +1373,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gtk-sharp 2.99.1 to adapt to many kinds of systems.
+\`configure' configures gtk-sharp 2.99.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1443,7 +1443,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gtk-sharp 2.99.1:";;
+     short | recursive ) echo "Configuration of gtk-sharp 2.99.2:";;
    esac
   cat <<\_ACEOF
 
@@ -1580,7 +1580,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gtk-sharp configure 2.99.1
+gtk-sharp configure 2.99.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2041,7 +2041,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gtk-sharp $as_me 2.99.1, which was
+It was created by gtk-sharp $as_me 2.99.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2905,7 +2905,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='gtk-sharp'
- VERSION='2.99.1'
+ VERSION='2.99.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -13422,7 +13422,7 @@ fi
 
 
 
-ac_config_files="$ac_config_files AssemblyInfo.cs Makefile policy.config sources/Makefile parser/Makefile parser/gapi-3.0.pc parser/gapi3-fixup parser/gapi3-parser generator/Makefile generator/gapi3-codegen glib/Makefile glib/glib-sharp-3.0.pc glib/glib-sharp.dll.config gio/Makefile gio/gio-sharp-3.0.pc gio/gio-sharp.dll.config gio/glue/Makefile cairo/AssemblyInfo.cs cairo/Makefile pango/Makefile pango/pango-sharp.dll.config pango/glue/Makefile atk/Makefile atk/atk-sharp.dll.config atk/g [...]
+ac_config_files="$ac_config_files AssemblyInfo.cs Makefile policy.config sources/Makefile parser/Makefile parser/gapi-3.0.pc parser/gapi3-parser generator/Makefile generator/gapi3-codegen generator/gapi3-fixup glib/Makefile glib/glib-sharp-3.0.pc glib/glib-sharp.dll.config gio/Makefile gio/gio-sharp-3.0.pc gio/gio-sharp.dll.config gio/glue/Makefile cairo/AssemblyInfo.cs cairo/Makefile pango/Makefile pango/pango-sharp.dll.config pango/glue/Makefile atk/Makefile atk/atk-sharp.dll.config at [...]
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -13970,7 +13970,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gtk-sharp $as_me 2.99.1, which was
+This file was extended by gtk-sharp $as_me 2.99.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14036,7 +14036,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-gtk-sharp config.status 2.99.1
+gtk-sharp config.status 2.99.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -14453,10 +14453,10 @@ do
     "sources/Makefile") CONFIG_FILES="$CONFIG_FILES sources/Makefile" ;;
     "parser/Makefile") CONFIG_FILES="$CONFIG_FILES parser/Makefile" ;;
     "parser/gapi-3.0.pc") CONFIG_FILES="$CONFIG_FILES parser/gapi-3.0.pc" ;;
-    "parser/gapi3-fixup") CONFIG_FILES="$CONFIG_FILES parser/gapi3-fixup" ;;
     "parser/gapi3-parser") CONFIG_FILES="$CONFIG_FILES parser/gapi3-parser" ;;
     "generator/Makefile") CONFIG_FILES="$CONFIG_FILES generator/Makefile" ;;
     "generator/gapi3-codegen") CONFIG_FILES="$CONFIG_FILES generator/gapi3-codegen" ;;
+    "generator/gapi3-fixup") CONFIG_FILES="$CONFIG_FILES generator/gapi3-fixup" ;;
     "glib/Makefile") CONFIG_FILES="$CONFIG_FILES glib/Makefile" ;;
     "glib/glib-sharp-3.0.pc") CONFIG_FILES="$CONFIG_FILES glib/glib-sharp-3.0.pc" ;;
     "glib/glib-sharp.dll.config") CONFIG_FILES="$CONFIG_FILES glib/glib-sharp.dll.config" ;;
@@ -15886,3 +15886,14 @@ if test "x$enable_monodoc" = "xyes" -a "x$doc_sources_dir" != "x$prefix/lib/mono
 fi
 echo "---"
 
+mono_prefix=`pkg-config --variable=prefix mono`
+if test "x$mono_prefix" != "x$prefix"; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Prefix to use ($prefix) is not the same as Mono's ($mono_prefix). Consider using
+		    ./configure --prefix=$mono_prefix
+		    See the README for more information.
+	" >&5
+$as_echo "$as_me: WARNING: Prefix to use ($prefix) is not the same as Mono's ($mono_prefix). Consider using
+		    ./configure --prefix=$mono_prefix
+		    See the README for more information.
+	" >&2;}
+fi
diff --git a/configure.ac b/configure.ac
index 119b84b..ac48642 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 
-AC_INIT(gtk-sharp, 2.99.1)
+AC_INIT(gtk-sharp, 2.99.2)
 
 AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign])
 AC_CANONICAL_HOST
@@ -217,10 +217,10 @@ policy.config
 sources/Makefile
 parser/Makefile
 parser/gapi-3.0.pc
-parser/gapi3-fixup
 parser/gapi3-parser
 generator/Makefile
 generator/gapi3-codegen
+generator/gapi3-fixup
 glib/Makefile
 glib/glib-sharp-3.0.pc
 glib/glib-sharp.dll.config
@@ -292,3 +292,10 @@ if test "x$enable_monodoc" = "xyes" -a "x$doc_sources_dir" != "x$prefix/lib/mono
 fi
 echo "---"
 
+mono_prefix=`pkg-config --variable=prefix mono`
+if test "x$mono_prefix" != "x$prefix"; then
+        AC_WARN(Prefix to use ($prefix) is not the same as Mono's ($mono_prefix). Consider using
+		    ./configure --prefix=$mono_prefix
+		    See the README for more information.
+	)
+fi
diff --git a/depcomp b/depcomp
index 06b0882..4ebd5b3 100755
--- a/depcomp
+++ b/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2012-10-18.11; # UTC
+scriptversion=2013-05-30.07; # UTC
 
 # Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
@@ -552,6 +552,7 @@ $ {
   G
   p
 }' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
   rm -f "$tmpdepfile"
   ;;
 
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 848b8e7..1540078 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/doc/en/Atk/Action.xml b/doc/en/Atk/Action.xml
deleted file mode 100644
index 5673924..0000000
--- a/doc/en/Atk/Action.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<Type Name="Action" FullName="Atk.Action">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Action : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Action implements class GLib.IWrapper" />
-  <AssemblyInfo>
-    <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
-    </Interface>
-  </Interfaces>
-  <Docs>
-    <summary>
-      The ATK interface provided by UI components which the user can
-      activate/interact with, this should be implemented by instances
-      of <see cref="T:Atk.Object" /> classes with which the user can interact
-      directly, i.e. buttons, checkboxes, scrollbars, e.g. components
-      which are not "passive" providers of UI information.
-    </summary>
-    <remarks>
-      <para>
-        The ATK interface provided by UI components which the user can
-        activate/interact with, This should be implemented by
-        instances of <see cref="T:Atk.Object" /> classes with which the
-        user can interact directly, i.e. buttons, checkboxes,
-        scrollbars, e.g. components which are not "passive" providers
-        of UI information.
-      </para>
-      <para>
-        Exceptions: when the user interaction is already covered by
-        another appropriate interface such as <see cref="T:Atk.EditableText" /> (insert/delete test, etc.) or <see cref="T:Atk.Value" /> (set value) then these actions should not
-        be exposed by <see cref="T:Atk.Action" /> as well.
-      </para>
-      <para>
-        Also note that the <see cref="T:Atk.Action" /> API is limited in that
-        parameters may not be passed to the object being activated;
-        thus the action must be self-contained and specifiable via
-        only a single "verb". Concrete examples include "press",
-        "release", "click" for buttons, "drag" (meaning initiate drag)
-        and "drop" for drag sources and drop targets, etc.
-      </para>
-      <para>
-        Though most UI interactions on components should be invocable
-        via keyboard as well as mouse, there will generally be a close
-        mapping between "mouse actions" that are possible on a
-        component and the <see cref="T:Atk.Actions" />. Where mouse and keyboard
-        actions are redundant in effect, <see cref="T:Atk.Action" /> should expose
-        only one action rather than exposing redundant actions if
-        possible. By convention we have been using "mouse centric"
-        terminology for <see cref="T:Atk.Action" /> names.
-      </para>
-    </remarks>
-  </Docs>
-  <Members>
-    <Member MemberName="DoAction">
-      <MemberSignature Language="C#" Value="public bool DoAction (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool DoAction(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">The action index corresponding to the action to be performed.</param>
-        <summary>Perform the specified action on the object.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetDescription">
-      <MemberSignature Language="C#" Value="public string GetDescription (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetDescription(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">The action index corresponding to the action to be performed.</param>
-        <summary>Returns a description of the specified action of the object.</summary>
-        <returns>A description string, or 0 if action does not implement this interface.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetKeybinding">
-      <MemberSignature Language="C#" Value="public string GetKeybinding (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetKeybinding(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">The action index corresponding to the action to be performed.</param>
-        <summary>Returns a keybinding associated with this action, if one exists.</summary>
-        <returns>A string representing the keybinding, or an empty string if there is no keybinding for this action.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetLocalizedName">
-      <MemberSignature Language="C#" Value="public string GetLocalizedName (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetLocalizedName(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">The action index corresponding to the action to be performed.</param>
-        <summary>Returns the localized name of the specified action of the object.</summary>
-        <returns>A name string, or an empty string if action does not implement this interface.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetName">
-      <MemberSignature Language="C#" Value="public string GetName (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetName(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">The action index corresponding to the action to be performed.</param>
-        <summary>Returns the name of the specified action of the object.</summary>
-        <returns>A name string, or an empty string if action does not implement this interface.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="NActions">
-      <MemberSignature Language="C#" Value="public int NActions { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance int32 NActions" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the number of accessible actions available on the object.</summary>
-        <value>A the number of actions, or 0 if action does not implement this interface.</value>
-        <remarks>
-          Gets the number of accessible actions available on the
-          object. If there are more than one, the first one is
-          considered the "default" action of the object.
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetDescription">
-      <MemberSignature Language="C#" Value="public bool SetDescription (int i, string desc);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetDescription(int32 i, string desc) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-        <Parameter Name="desc" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="i">The action index corresponding to the action to be performed.</param>
-        <param name="desc">The description to be assigned to this action.</param>
-        <summary>Sets a description of the specified action of the object.</summary>
-        <returns>A <see cref="T:System.Boolean" /> representing if the description was successfully set.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Atk/ActionAdapter.xml b/doc/en/Atk/ActionAdapter.xml
index 52bd73d..143f82c 100644
--- a/doc/en/Atk/ActionAdapter.xml
+++ b/doc/en/Atk/ActionAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ActionAdapter" FullName="Atk.ActionAdapter">
-  <TypeSignature Language="C#" Value="public class ActionAdapter : GLib.GInterfaceAdapter, Atk.Action, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActionAdapter extends GLib.GInterfaceAdapter implements class Atk.Action, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ActionAdapter : GLib.GInterfaceAdapter, Atk.IAction, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActionAdapter extends GLib.GInterfaceAdapter implements class Atk.IAction, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Action</InterfaceName>
+      <InterfaceName>Atk.IAction</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ActionAdapter (Atk.ActionImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ActionImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ActionAdapter (Atk.IActionImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IActionImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.ActionImplementor" />
+        <Parameter Name="implementor" Type="Atk.IActionImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -144,11 +145,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Action GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Action GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IAction GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IAction GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Action</ReturnType>
+        <ReturnType>Atk.IAction</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -162,11 +163,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Action GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Action GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IAction GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IAction GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Action</ReturnType>
+        <ReturnType>Atk.IAction</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -178,11 +179,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -209,11 +225,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.ActionImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ActionImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IActionImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IActionImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.ActionImplementor</ReturnType>
+        <ReturnType>Atk.IActionImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/ActiveDescendantChangedHandler.xml b/doc/en/Atk/ActiveDescendantChangedHandler.xml
index aaa7b09..ca7e1ee 100644
--- a/doc/en/Atk/ActiveDescendantChangedHandler.xml
+++ b/doc/en/Atk/ActiveDescendantChangedHandler.xml
@@ -17,8 +17,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.Object.ActiveDescendantChanged" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/BoundsChangedHandler.xml b/doc/en/Atk/BoundsChangedHandler.xml
index 393dbea..94138c2 100644
--- a/doc/en/Atk/BoundsChangedHandler.xml
+++ b/doc/en/Atk/BoundsChangedHandler.xml
@@ -17,8 +17,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.NoOpObject.BoundsChanged" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/ChildrenChangedHandler.xml b/doc/en/Atk/ChildrenChangedHandler.xml
index 44ee435..2a54844 100644
--- a/doc/en/Atk/ChildrenChangedHandler.xml
+++ b/doc/en/Atk/ChildrenChangedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.Object.ChildrenChanged" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/ColumnDeletedHandler.xml b/doc/en/Atk/ColumnDeletedHandler.xml
index 13816eb..8f89b37 100644
--- a/doc/en/Atk/ColumnDeletedHandler.xml
+++ b/doc/en/Atk/ColumnDeletedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.NoOpObject.ColumnDeleted" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/ColumnInsertedHandler.xml b/doc/en/Atk/ColumnInsertedHandler.xml
index c25b55d..9ee4318 100644
--- a/doc/en/Atk/ColumnInsertedHandler.xml
+++ b/doc/en/Atk/ColumnInsertedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.NoOpObject.ColumnInserted" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/Component.xml b/doc/en/Atk/Component.xml
deleted file mode 100644
index 2b6208a..0000000
--- a/doc/en/Atk/Component.xml
+++ /dev/null
@@ -1,357 +0,0 @@
-<Type Name="Component" FullName="Atk.Component">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Component : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Component implements class GLib.IWrapper" />
-  <AssemblyInfo>
-    <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
-    </Interface>
-  </Interfaces>
-  <Docs>
-    <summary>The ATK interface provided by UI components which occupy a physical area on the screen.</summary>
-    <remarks>
-      <para>
-        The ATK interface provided by UI components which occupy a
-        physical area on the screen.
-      </para>
-      <para>
-        This should be implemented by most if not all UI elements with
-        an actual on-screen presence, i.e. components which can be
-        said to have a screen-coordinate bounding box. Virtually all
-        widgets will need to have <see cref="T:Atk.Component" /> implementations
-        provided for their corresponding <see cref="T:Atk.Object" /> class. In short,
-        only UI elements which are* not* GUI elements will omit this
-        ATK interface.
-      </para>
-      <para>
-        A possible exception might be textual information with a
-        transparent background, in which case text glyph bounding box
-        information is provided by <see cref="T:Atk.Text" />.
-      </para>
-    </remarks>
-  </Docs>
-  <Members>
-    <Member MemberName="AddFocusHandler">
-      <MemberSignature Language="C#" Value="public uint AddFocusHandler (Atk.FocusHandler handler);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance unsigned int32 AddFocusHandler(class Atk.FocusHandler handler) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="handler" Type="Atk.FocusHandler" />
-      </Parameters>
-      <Docs>
-        <param name="handler">The <see cref="T:Atk.FocusHandler" /> to be attached to this component.</param>
-        <summary>
-          Add the specified handler to the set of functions to be
-          called when this object receives focus events (in or out).
-        </summary>
-        <returns>
-          A handler id which can be used in
-          <see cref="M:Atk.Component.RemoveFocusHandler" /> or zero if the handler
-          was already added.
-        </returns>
-        <remarks>
-          <para>
-            Add the specified handler to the set of functions to be
-            called when this object receives focus events (in or out).
-          </para>
-          <para>
-            If the handler is already added it is not added again.
-          </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Alpha">
-      <MemberSignature Language="C#" Value="public double Alpha { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance float64 Alpha" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-    <Member MemberName="BoundsChanged">
-      <MemberSignature Language="C#" Value="public event Atk.BoundsChangedHandler BoundsChanged;" />
-      <MemberSignature Language="ILAsm" Value=".event class Atk.BoundsChangedHandler BoundsChanged" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.BoundsChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.6" />
-      </Docs>
-    </Member>
-    <Member MemberName="Contains">
-      <MemberSignature Language="C#" Value="public bool Contains (int x, int y, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Contains(int32 x, int32 y, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x">X coordinate</param>
-        <param name="y">Y coordinate</param>
-        <param name="coord_type">
-          Specifies whether the coordinates are relative to the screen
-          or to the components top level window.
-        </param>
-        <summary>Checks whether the specified point is within the extent of this component.</summary>
-        <returns>
-          <see langword="true" /> or <see langword="false" /> indicating whether the specified point is
-          within the extent of the component or not.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetExtents">
-      <MemberSignature Language="C#" Value="public void GetExtents (out int x, out int y, out int width, out int height, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetExtents(int32 x, int32 y, int32 width, int32 height, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32&" RefType="out" />
-        <Parameter Name="y" Type="System.Int32&" RefType="out" />
-        <Parameter Name="width" Type="System.Int32&" RefType="out" />
-        <Parameter Name="height" Type="System.Int32&" RefType="out" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x">X coordinate position</param>
-        <param name="y">Y coordinate position</param>
-        <param name="width">Width</param>
-        <param name="height">Height</param>
-        <param name="coord_type">
-          Specifies whether the coordinates are relative to the screen
-          or to the components top level window.
-        </param>
-        <summary>Gets the rectangle which gives the extent of this component.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetPosition">
-      <MemberSignature Language="C#" Value="public void GetPosition (out int x, out int y, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetPosition(int32 x, int32 y, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32&" RefType="out" />
-        <Parameter Name="y" Type="System.Int32&" RefType="out" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x">X coordinate position</param>
-        <param name="y">Y coordinate position</param>
-        <param name="coord_type">
-          Specifies whether the coordinates are relative to the screen
-          or to the components top level window.
-        </param>
-        <summary>
-          Gets the position of component in the form of a point
-          specifying this component's top-left corner.
-        </summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetSize">
-      <MemberSignature Language="C#" Value="public void GetSize (out int width, out int height);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetSize(int32 width, int32 height) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="width" Type="System.Int32&" RefType="out" />
-        <Parameter Name="height" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="width">Width</param>
-        <param name="height">Height</param>
-        <summary>Gets the size of this component in terms of width and height.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GrabFocus">
-      <MemberSignature Language="C#" Value="public bool GrabFocus ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GrabFocus() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Grabs focus for this component</summary>
-        <returns>
-          <see langword="true" /> if successful, <see langword="false" /> otherwise.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Layer">
-      <MemberSignature Language="C#" Value="public Atk.Layer Layer { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype Atk.Layer Layer" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.Layer</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the layer of this component.</summary>
-        <value>An <see cref="T:Atk.Layer" /> which is the layer of the component.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="MdiZorder">
-      <MemberSignature Language="C#" Value="public int MdiZorder { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance int32 MdiZorder" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the Z order of the component.</summary>
-        <value>The value G_MININT will be returned if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="RefAccessibleAtPoint">
-      <MemberSignature Language="C#" Value="public Atk.Object RefAccessibleAtPoint (int x, int y, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Atk.Object RefAccessibleAtPoint(int32 x, int32 y, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.Object</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x">To be added: an object of type 'int'</param>
-        <param name="y">To be added: an object of type 'int'</param>
-        <param name="coord_type">To be added: an object of type 'Atk.CoordType'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'Atk.Object'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveFocusHandler">
-      <MemberSignature Language="C#" Value="public void RemoveFocusHandler (uint handler_id);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void RemoveFocusHandler(unsigned int32 handler_id) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="handler_id" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <param name="handler_id">The handler id of the focus handler to be removed from component.</param>
-        <summary>
-          Remove the handler from the list of functions to be executed
-          when this object receives focus events (in or out).
-        </summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetExtents">
-      <MemberSignature Language="C#" Value="public bool SetExtents (int x, int y, int width, int height, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetExtents(int32 x, int32 y, int32 width, int32 height, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x">X coordinate.</param>
-        <param name="y">Y coordinate.</param>
-        <param name="width">Width to set for this component.</param>
-        <param name="height">Height to set for this component.</param>
-        <param name="coord_type">
-          Specifies whether the coordinates are relative to the screen
-          or to the components top level window.
-        </param>
-        <summary>Sets the extents of this component.</summary>
-        <returns>
-          <see langword="true" /> or <see langword="false" /> whether the extents were
-          set or not.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetPosition">
-      <MemberSignature Language="C#" Value="public bool SetPosition (int x, int y, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetPosition(int32 x, int32 y, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x">X coordinate.</param>
-        <param name="y">Y coordinate.</param>
-        <param name="coord_type">
-          Specifies whether the coordinates are relative to the screen
-          or to the components top level window.
-        </param>
-        <summary>Sets the postition of this component.</summary>
-        <returns>
-          <see langword="true" /> or <see langword="false" /> whether or not the position was set or not.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetSize">
-      <MemberSignature Language="C#" Value="public bool SetSize (int width, int height);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetSize(int32 width, int32 height) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="width">Width to set for this component.</param>
-        <param name="height">Height to set for this component.</param>
-        <summary>Set the size of this component in terms of width and height.</summary>
-        <returns>
-          <see langword="true" /> or <see langword="false" /> whether the size was set or not.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Atk/ComponentAdapter.xml b/doc/en/Atk/ComponentAdapter.xml
index 8956bd5..94fe37d 100644
--- a/doc/en/Atk/ComponentAdapter.xml
+++ b/doc/en/Atk/ComponentAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ComponentAdapter" FullName="Atk.ComponentAdapter">
-  <TypeSignature Language="C#" Value="public class ComponentAdapter : GLib.GInterfaceAdapter, Atk.Component, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ComponentAdapter extends GLib.GInterfaceAdapter implements class Atk.Component, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ComponentAdapter : GLib.GInterfaceAdapter, Atk.IComponent, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ComponentAdapter extends GLib.GInterfaceAdapter implements class Atk.IComponent, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Component</InterfaceName>
+      <InterfaceName>Atk.IComponent</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ComponentAdapter (Atk.ComponentImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ComponentImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ComponentAdapter (Atk.IComponentImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IComponentImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.ComponentImplementor" />
+        <Parameter Name="implementor" Type="Atk.IComponentImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -151,11 +152,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Component GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Component GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IComponent GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IComponent GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Component</ReturnType>
+        <ReturnType>Atk.IComponent</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -169,11 +170,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Component GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Component GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IComponent GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IComponent GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Component</ReturnType>
+        <ReturnType>Atk.IComponent</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -185,6 +186,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetPosition">
@@ -225,6 +227,20 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GrabFocus">
       <MemberSignature Language="C#" Value="public bool GrabFocus ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GrabFocus() cil managed" />
@@ -240,8 +256,8 @@
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -268,11 +284,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.ComponentImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ComponentImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IComponentImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IComponentImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.ComponentImplementor</ReturnType>
+        <ReturnType>Atk.IComponentImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/DocumentAdapter.xml b/doc/en/Atk/DocumentAdapter.xml
index 38d477d..d7fcd33 100644
--- a/doc/en/Atk/DocumentAdapter.xml
+++ b/doc/en/Atk/DocumentAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="DocumentAdapter" FullName="Atk.DocumentAdapter">
-  <TypeSignature Language="C#" Value="public class DocumentAdapter : GLib.GInterfaceAdapter, Atk.Document, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi DocumentAdapter extends GLib.GInterfaceAdapter implements class Atk.Document, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class DocumentAdapter : GLib.GInterfaceAdapter, Atk.IDocument, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi DocumentAdapter extends GLib.GInterfaceAdapter implements class Atk.IDocument, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Document</InterfaceName>
+      <InterfaceName>Atk.IDocument</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public DocumentAdapter (Atk.DocumentImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.DocumentImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public DocumentAdapter (Atk.IDocumentImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IDocumentImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.DocumentImplementor" />
+        <Parameter Name="implementor" Type="Atk.IDocumentImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -102,11 +103,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Document GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Document GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IDocument GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IDocument GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Document</ReturnType>
+        <ReturnType>Atk.IDocument</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -120,11 +121,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Document GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Document GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IDocument GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IDocument GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Document</ReturnType>
+        <ReturnType>Atk.IDocument</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -136,11 +137,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -167,11 +183,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.DocumentImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.DocumentImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IDocumentImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IDocumentImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.DocumentImplementor</ReturnType>
+        <ReturnType>Atk.IDocumentImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/EditableTextAdapter.xml b/doc/en/Atk/EditableTextAdapter.xml
index 905ae56..514159f 100644
--- a/doc/en/Atk/EditableTextAdapter.xml
+++ b/doc/en/Atk/EditableTextAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="EditableTextAdapter" FullName="Atk.EditableTextAdapter">
-  <TypeSignature Language="C#" Value="public class EditableTextAdapter : GLib.GInterfaceAdapter, Atk.EditableText, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi EditableTextAdapter extends GLib.GInterfaceAdapter implements class Atk.EditableText, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class EditableTextAdapter : GLib.GInterfaceAdapter, Atk.IEditableText, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi EditableTextAdapter extends GLib.GInterfaceAdapter implements class Atk.IEditableText, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.EditableText</InterfaceName>
+      <InterfaceName>Atk.IEditableText</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public EditableTextAdapter (Atk.EditableTextImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.EditableTextImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public EditableTextAdapter (Atk.IEditableTextImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IEditableTextImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.EditableTextImplementor" />
+        <Parameter Name="implementor" Type="Atk.IEditableTextImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -113,11 +114,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.EditableText GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.EditableText GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IEditableText GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IEditableText GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.EditableText</ReturnType>
+        <ReturnType>Atk.IEditableText</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -131,11 +132,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.EditableText GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.EditableText GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IEditableText GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IEditableText GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.EditableText</ReturnType>
+        <ReturnType>Atk.IEditableText</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -147,11 +148,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -178,11 +194,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.EditableTextImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.EditableTextImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IEditableTextImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IEditableTextImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.EditableTextImplementor</ReturnType>
+        <ReturnType>Atk.IEditableTextImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/FocusEventHandler.xml b/doc/en/Atk/FocusEventHandler.xml
index 86bc4b4..dc434be 100644
--- a/doc/en/Atk/FocusEventHandler.xml
+++ b/doc/en/Atk/FocusEventHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.Object.FocusEvent" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/Hyperlink.xml b/doc/en/Atk/Hyperlink.xml
index 81845f5..999c808 100644
--- a/doc/en/Atk/Hyperlink.xml
+++ b/doc/en/Atk/Hyperlink.xml
@@ -1,6 +1,6 @@
 <Type Name="Hyperlink" FullName="Atk.Hyperlink">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Hyperlink : GLib.Object, Atk.Action" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Hyperlink extends GLib.Object implements class Atk.Action, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class Hyperlink : GLib.Object, Atk.IAction" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Hyperlink extends GLib.Object implements class Atk.IAction, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Action</InterfaceName>
+      <InterfaceName>Atk.IAction</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Atk/HyperlinkImplAdapter.xml b/doc/en/Atk/HyperlinkImplAdapter.xml
index 5abc15d..8e8a413 100644
--- a/doc/en/Atk/HyperlinkImplAdapter.xml
+++ b/doc/en/Atk/HyperlinkImplAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="HyperlinkImplAdapter" FullName="Atk.HyperlinkImplAdapter">
-  <TypeSignature Language="C#" Value="public class HyperlinkImplAdapter : GLib.GInterfaceAdapter, Atk.HyperlinkImpl, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi HyperlinkImplAdapter extends GLib.GInterfaceAdapter implements class Atk.HyperlinkImpl, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class HyperlinkImplAdapter : GLib.GInterfaceAdapter, Atk.IHyperlinkImpl, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi HyperlinkImplAdapter extends GLib.GInterfaceAdapter implements class Atk.IHyperlinkImpl, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.HyperlinkImpl</InterfaceName>
+      <InterfaceName>Atk.IHyperlinkImpl</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HyperlinkImplAdapter (Atk.HyperlinkImplImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.HyperlinkImplImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public HyperlinkImplAdapter (Atk.IHyperlinkImplImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IHyperlinkImplImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.HyperlinkImplImplementor" />
+        <Parameter Name="implementor" Type="Atk.IHyperlinkImplImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -59,11 +60,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.HyperlinkImpl GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.HyperlinkImpl GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IHyperlinkImpl GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IHyperlinkImpl GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.HyperlinkImpl</ReturnType>
+        <ReturnType>Atk.IHyperlinkImpl</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -77,11 +78,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.HyperlinkImpl GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.HyperlinkImpl GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IHyperlinkImpl GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IHyperlinkImpl GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.HyperlinkImpl</ReturnType>
+        <ReturnType>Atk.IHyperlinkImpl</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -93,11 +94,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -137,11 +153,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.HyperlinkImplImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.HyperlinkImplImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IHyperlinkImplImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IHyperlinkImplImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.HyperlinkImplImplementor</ReturnType>
+        <ReturnType>Atk.IHyperlinkImplImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/HypertextAdapter.xml b/doc/en/Atk/HypertextAdapter.xml
index 304b613..bb3a6dc 100644
--- a/doc/en/Atk/HypertextAdapter.xml
+++ b/doc/en/Atk/HypertextAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="HypertextAdapter" FullName="Atk.HypertextAdapter">
-  <TypeSignature Language="C#" Value="public class HypertextAdapter : GLib.GInterfaceAdapter, Atk.Hypertext, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi HypertextAdapter extends GLib.GInterfaceAdapter implements class Atk.Hypertext, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class HypertextAdapter : GLib.GInterfaceAdapter, Atk.IHypertext, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi HypertextAdapter extends GLib.GInterfaceAdapter implements class Atk.IHypertext, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Hypertext</InterfaceName>
+      <InterfaceName>Atk.IHypertext</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HypertextAdapter (Atk.HypertextImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.HypertextImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public HypertextAdapter (Atk.IHypertextImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IHypertextImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.HypertextImplementor" />
+        <Parameter Name="implementor" Type="Atk.IHypertextImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -93,11 +94,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Hypertext GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Hypertext GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IHypertext GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IHypertext GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Hypertext</ReturnType>
+        <ReturnType>Atk.IHypertext</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -111,11 +112,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Hypertext GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Hypertext GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IHypertext GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IHypertext GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Hypertext</ReturnType>
+        <ReturnType>Atk.IHypertext</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -127,11 +128,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -158,11 +174,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.HypertextImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.HypertextImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IHypertextImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IHypertextImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.HypertextImplementor</ReturnType>
+        <ReturnType>Atk.IHypertextImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/ActionImplementor.xml b/doc/en/Atk/IAction.xml
similarity index 90%
copy from doc/en/Atk/ActionImplementor.xml
copy to doc/en/Atk/IAction.xml
index 653ed56..64c1a9a 100644
--- a/doc/en/Atk/ActionImplementor.xml
+++ b/doc/en/Atk/IAction.xml
@@ -1,6 +1,6 @@
-<Type Name="ActionImplementor" FullName="Atk.ActionImplementor">
-  <TypeSignature Language="C#" Value="public interface ActionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ActionImplementor implements class GLib.IWrapper" />
+<Type Name="IAction" FullName="Atk.IAction">
+  <TypeSignature Language="C#" Value="public interface IAction : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAction implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,15 +9,10 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(Atk.ActionAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
   <Docs>
-    <summary>Action implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Action" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DoAction">
@@ -35,6 +30,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetDescription">
@@ -52,6 +48,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetKeybinding">
@@ -69,6 +66,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetLocalizedName">
@@ -86,6 +84,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetName">
@@ -103,6 +102,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NActions">
@@ -116,6 +116,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetDescription">
@@ -135,6 +136,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ActionImplementor.xml b/doc/en/Atk/IActionImplementor.xml
similarity index 89%
rename from doc/en/Atk/ActionImplementor.xml
rename to doc/en/Atk/IActionImplementor.xml
index 653ed56..c077597 100644
--- a/doc/en/Atk/ActionImplementor.xml
+++ b/doc/en/Atk/IActionImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ActionImplementor" FullName="Atk.ActionImplementor">
-  <TypeSignature Language="C#" Value="public interface ActionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ActionImplementor implements class GLib.IWrapper" />
+<Type Name="IActionImplementor" FullName="Atk.IActionImplementor">
+  <TypeSignature Language="C#" Value="public interface IActionImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IActionImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Action implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Action" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DoAction">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetDescription">
@@ -52,6 +53,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetKeybinding">
@@ -69,6 +71,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetLocalizedName">
@@ -86,6 +89,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetName">
@@ -103,6 +107,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NActions">
@@ -116,6 +121,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetDescription">
@@ -135,6 +141,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ComponentImplementor.xml b/doc/en/Atk/IComponent.xml
similarity index 89%
copy from doc/en/Atk/ComponentImplementor.xml
copy to doc/en/Atk/IComponent.xml
index 98447c7..66ad262 100644
--- a/doc/en/Atk/ComponentImplementor.xml
+++ b/doc/en/Atk/IComponent.xml
@@ -1,6 +1,6 @@
-<Type Name="ComponentImplementor" FullName="Atk.ComponentImplementor">
-  <TypeSignature Language="C#" Value="public interface ComponentImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ComponentImplementor implements class GLib.IWrapper" />
+<Type Name="IComponent" FullName="Atk.IComponent">
+  <TypeSignature Language="C#" Value="public interface IComponent : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IComponent implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,15 +9,10 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(Atk.ComponentAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
   <Docs>
-    <summary>Component implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Component" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddFocusHandler">
@@ -35,6 +30,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Alpha">
@@ -48,6 +44,20 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="BoundsChanged">
+      <MemberSignature Language="C#" Value="public event Atk.BoundsChangedHandler BoundsChanged;" />
+      <MemberSignature Language="ILAsm" Value=".event class Atk.BoundsChangedHandler BoundsChanged" />
+      <MemberType>Event</MemberType>
+      <ReturnValue>
+        <ReturnType>Atk.BoundsChangedHandler</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Contains">
@@ -69,6 +79,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetExtents">
@@ -93,6 +104,7 @@
         <param name="coord_type">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetPosition">
@@ -113,6 +125,7 @@
         <param name="coord_type">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSize">
@@ -131,6 +144,7 @@
         <param name="height">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GrabFocus">
@@ -145,6 +159,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Layer">
@@ -158,6 +173,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MdiZorder">
@@ -171,6 +187,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefAccessibleAtPoint">
@@ -192,6 +209,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveFocusHandler">
@@ -208,6 +226,7 @@
         <param name="handler_id">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetExtents">
@@ -233,6 +252,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetPosition">
@@ -254,6 +274,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSize">
@@ -273,6 +294,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ComponentImplementor.xml b/doc/en/Atk/IComponentImplementor.xml
similarity index 93%
rename from doc/en/Atk/ComponentImplementor.xml
rename to doc/en/Atk/IComponentImplementor.xml
index 98447c7..318c3e5 100644
--- a/doc/en/Atk/ComponentImplementor.xml
+++ b/doc/en/Atk/IComponentImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ComponentImplementor" FullName="Atk.ComponentImplementor">
-  <TypeSignature Language="C#" Value="public interface ComponentImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ComponentImplementor implements class GLib.IWrapper" />
+<Type Name="IComponentImplementor" FullName="Atk.IComponentImplementor">
+  <TypeSignature Language="C#" Value="public interface IComponentImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IComponentImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Component implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Component" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddFocusHandler">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Alpha">
@@ -48,6 +49,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Contains">
@@ -69,6 +71,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetExtents">
@@ -93,6 +96,7 @@
         <param name="coord_type">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetPosition">
@@ -113,6 +117,7 @@
         <param name="coord_type">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSize">
@@ -131,6 +136,7 @@
         <param name="height">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GrabFocus">
@@ -145,6 +151,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Layer">
@@ -158,6 +165,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MdiZorder">
@@ -171,6 +179,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefAccessibleAtPoint">
@@ -192,6 +201,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveFocusHandler">
@@ -208,6 +218,7 @@
         <param name="handler_id">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetExtents">
@@ -233,6 +244,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetPosition">
@@ -254,6 +266,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSize">
@@ -273,6 +286,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/Document.xml b/doc/en/Atk/IDocument.xml
similarity index 78%
rename from doc/en/Atk/Document.xml
rename to doc/en/Atk/IDocument.xml
index b459c46..1f8a0ea 100644
--- a/doc/en/Atk/Document.xml
+++ b/doc/en/Atk/IDocument.xml
@@ -1,20 +1,18 @@
-<Type Name="Document" FullName="Atk.Document">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Document : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Document implements class GLib.IWrapper" />
+<Type Name="IDocument" FullName="Atk.IDocument">
+  <TypeSignature Language="C#" Value="public interface IDocument : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IDocument implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>The interface which allows access to a DOM associated with on object.</summary>
-    <remarks>The <see cref="T:Atk.Document" /> interface should be supported by any object that has an associated document object model (DOM). This interface provides the standard mechanism allowing an assistive technology access to the DOM.</remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Attributes">
@@ -28,7 +26,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DocumentType">
@@ -39,9 +37,10 @@
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Gets a string indicating the document type.</summary>
-        <value> a string indicating the document type</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetAttributeValue">
@@ -59,7 +58,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadComplete">
@@ -72,7 +71,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadStopped">
@@ -85,7 +84,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Locale">
@@ -99,7 +98,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Reload">
@@ -112,7 +111,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeValue">
@@ -132,7 +131,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="TheDocument">
@@ -143,9 +142,10 @@
         <ReturnType>System.IntPtr</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Gets a pointer that points to an instance of the DOM.</summary>
-        <value> a pointer to an instance of the DOM.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/DocumentImplementor.xml b/doc/en/Atk/IDocumentImplementor.xml
similarity index 87%
rename from doc/en/Atk/DocumentImplementor.xml
rename to doc/en/Atk/IDocumentImplementor.xml
index b0c1858..87b73f0 100644
--- a/doc/en/Atk/DocumentImplementor.xml
+++ b/doc/en/Atk/IDocumentImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="DocumentImplementor" FullName="Atk.DocumentImplementor">
-  <TypeSignature Language="C#" Value="public interface DocumentImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract DocumentImplementor implements class GLib.IWrapper" />
+<Type Name="IDocumentImplementor" FullName="Atk.IDocumentImplementor">
+  <TypeSignature Language="C#" Value="public interface IDocumentImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IDocumentImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Document implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Document" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Attributes">
@@ -31,6 +31,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DocumentType">
@@ -44,6 +45,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetAttributeValue">
@@ -61,6 +63,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Locale">
@@ -74,6 +77,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeValue">
@@ -93,6 +97,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="TheDocument">
@@ -106,6 +111,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/EditableTextImplementor.xml b/doc/en/Atk/IEditableText.xml
similarity index 90%
rename from doc/en/Atk/EditableTextImplementor.xml
rename to doc/en/Atk/IEditableText.xml
index 6c7c33a..0c5aad2 100644
--- a/doc/en/Atk/EditableTextImplementor.xml
+++ b/doc/en/Atk/IEditableText.xml
@@ -1,6 +1,6 @@
-<Type Name="EditableTextImplementor" FullName="Atk.EditableTextImplementor">
-  <TypeSignature Language="C#" Value="public interface EditableTextImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract EditableTextImplementor implements class GLib.IWrapper" />
+<Type Name="IEditableText" FullName="Atk.IEditableText">
+  <TypeSignature Language="C#" Value="public interface IEditableText : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IEditableText implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,15 +9,10 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(Atk.EditableTextAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
   <Docs>
-    <summary>EditableText implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.EditableText" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="CopyText">
@@ -36,6 +31,7 @@
         <param name="end_pos">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CutText">
@@ -54,6 +50,7 @@
         <param name="end_pos">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DeleteText">
@@ -72,6 +69,7 @@
         <param name="end_pos">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="InsertText">
@@ -90,6 +88,7 @@
         <param name="position">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PasteText">
@@ -106,6 +105,7 @@
         <param name="position">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRunAttributes">
@@ -127,6 +127,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="TextContents">
@@ -140,6 +141,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/EditableText.xml b/doc/en/Atk/IEditableTextImplementor.xml
similarity index 58%
rename from doc/en/Atk/EditableText.xml
rename to doc/en/Atk/IEditableTextImplementor.xml
index 6c4b722..9dbc916 100644
--- a/doc/en/Atk/EditableText.xml
+++ b/doc/en/Atk/IEditableTextImplementor.xml
@@ -1,30 +1,23 @@
-<Type Name="EditableText" FullName="Atk.EditableText">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface EditableText : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract EditableText implements class GLib.IWrapper" />
+<Type Name="IEditableTextImplementor" FullName="Atk.IEditableTextImplementor">
+  <TypeSignature Language="C#" Value="public interface IEditableTextImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IEditableTextImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
+  <Attributes>
+    <Attribute>
+      <AttributeName>GLib.GInterface(typeof(Atk.EditableTextAdapter))</AttributeName>
+    </Attribute>
+  </Attributes>
   <Docs>
-    <summary>The ATK interface implemented by components containing user-editable text content</summary>
-    <remarks>
-      <para>
-        <see cref="T:Atk.EditableText" /> should be implemented by UI components which
-        contain text which the user can edit, via the <see cref="T:Atk.Object" /> corresponding to that component (see <see cref="T:Atk.Object" />).
-      </para>
-      <para>
-        <see cref="T:Atk.EditableText" /> is a subclass of <see cref="T:Atk.Text" />, and as such, an
-        object which implements AtkEditableText is by definition an
-        <see cref="T:Atk.Text" /> implementor as well.
-      </para>
-    </remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="CopyText">
@@ -39,14 +32,11 @@
         <Parameter Name="end_pos" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="start_pos">start position</param>
-        <param name="end_pos">end position</param>
-        <summary>Copy text</summary>
-        <remarks>
-          <para>
-            This method only copies the text up to <paramref name="end_pos" />, it does not include the text at that position.
-          </para>
-        </remarks>
+        <param name="start_pos">To be added.</param>
+        <param name="end_pos">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CutText">
@@ -61,14 +51,11 @@
         <Parameter Name="end_pos" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="start_pos">start position</param>
-        <param name="end_pos">end position</param>
-        <summary>Cut text</summary>
-        <remarks>
-          <para>
-            This method only cuts the text up to <paramref name="end_pos" />, it does not include the text at that position.
-          </para>
-        </remarks>
+        <param name="start_pos">To be added.</param>
+        <param name="end_pos">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DeleteText">
@@ -83,13 +70,11 @@
         <Parameter Name="end_pos" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="start_pos">start position</param>
-        <param name="end_pos">end position</param>
-        <summary>Delete text</summary>
-        <remarks>
-          <para>
-            This only deletes text up to, but not including <paramref name="end_pos" />. </para>
-        </remarks>
+        <param name="start_pos">To be added.</param>
+        <param name="end_pos">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="InsertText">
@@ -108,6 +93,7 @@
         <param name="position">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PasteText">
@@ -121,9 +107,10 @@
         <Parameter Name="position" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="position">position to paste</param>
-        <summary>Paste text from clipboard to specified position.</summary>
-        <remarks />
+        <param name="position">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRunAttributes">
@@ -139,23 +126,13 @@
         <Parameter Name="end_offset" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="attrib_set">an <see cref="T:Atk.AttributeSet" /></param>
-        <param name="start_offset">start of range in which to set attributes</param>
-        <param name="end_offset">end of range in which to set attributes</param>
-        <summary>Sets the attributes for a specified range.</summary>
-        <returns>
-          <see langword="true" /> if attributes successfully set for
-          the specified range, otherwise <see langword="false" /></returns>
-        <remarks>
-          <para>
-            Sets the attributes for a specified range. See the
-            ATK_ATTRIBUTE macros (such as ATK_ATTRIBUTE_LEFT_MARGIN)
-            for examples of attributes that can be set. Note that
-            other attributes that do not have corresponding
-            ATK_ATTRIBUTE macros may also be set for certain text
-            widgets.
-          </para>
-        </remarks>
+        <param name="attrib_set">To be added.</param>
+        <param name="start_offset">To be added.</param>
+        <param name="end_offset">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="TextContents">
@@ -165,12 +142,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters>
-      </Parameters>
       <Docs>
-        <summary>Set text contents of text.</summary>
-        <value>contents of text</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/HyperlinkImpl.xml b/doc/en/Atk/IHyperlinkImpl.xml
similarity index 59%
rename from doc/en/Atk/HyperlinkImpl.xml
rename to doc/en/Atk/IHyperlinkImpl.xml
index 0faaa82..4cdaa7c 100644
--- a/doc/en/Atk/HyperlinkImpl.xml
+++ b/doc/en/Atk/IHyperlinkImpl.xml
@@ -1,6 +1,6 @@
-<Type Name="HyperlinkImpl" FullName="Atk.HyperlinkImpl">
-  <TypeSignature Language="C#" Value="public interface HyperlinkImpl : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract HyperlinkImpl implements class GLib.IWrapper" />
+<Type Name="IHyperlinkImpl" FullName="Atk.IHyperlinkImpl">
+  <TypeSignature Language="C#" Value="public interface IHyperlinkImpl : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IHyperlinkImpl implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -10,9 +10,9 @@
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>Interface to obtain a Hyperlink implementation.</summary>
-    <remarks />
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Hyperlink">
@@ -23,9 +23,10 @@
         <ReturnType>Atk.Hyperlink</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Hyperlink property.</summary>
-        <value>a <see cref="T:Atk.Hyperlink" /> implementor.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/HyperlinkImplImplementor.xml b/doc/en/Atk/IHyperlinkImplImplementor.xml
similarity index 68%
rename from doc/en/Atk/HyperlinkImplImplementor.xml
rename to doc/en/Atk/IHyperlinkImplImplementor.xml
index 05a1972..d7c24ba 100644
--- a/doc/en/Atk/HyperlinkImplImplementor.xml
+++ b/doc/en/Atk/IHyperlinkImplImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="HyperlinkImplImplementor" FullName="Atk.HyperlinkImplImplementor">
-  <TypeSignature Language="C#" Value="public interface HyperlinkImplImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract HyperlinkImplImplementor implements class GLib.IWrapper" />
+<Type Name="IHyperlinkImplImplementor" FullName="Atk.IHyperlinkImplImplementor">
+  <TypeSignature Language="C#" Value="public interface IHyperlinkImplImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IHyperlinkImplImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>HyperlinkImpl implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.HyperlinkImpl" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Hyperlink">
@@ -31,6 +31,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/Hypertext.xml b/doc/en/Atk/IHypertext.xml
similarity index 58%
rename from doc/en/Atk/Hypertext.xml
rename to doc/en/Atk/IHypertext.xml
index 01216b6..b90b293 100644
--- a/doc/en/Atk/Hypertext.xml
+++ b/doc/en/Atk/IHypertext.xml
@@ -1,21 +1,18 @@
-<Type Name="Hypertext" FullName="Atk.Hypertext">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Hypertext : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Hypertext implements class GLib.IWrapper" />
+<Type Name="IHypertext" FullName="Atk.IHypertext">
+  <TypeSignature Language="C#" Value="public interface IHypertext : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IHypertext implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>The interface which provides standard mechanism for manipulating hyperlinks.
-</summary>
-    <remarks />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetLink">
@@ -29,10 +26,11 @@
         <Parameter Name="link_index" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="link_index"> an integer specifying the desired link</param>
-        <summary>The link in this hypertext document at index <paramref name="link_index" /></summary>
-        <returns> the link in this hypertext document at index <paramref name="link_index" /></returns>
-        <remarks />
+        <param name="link_index">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetLinkIndex">
@@ -46,10 +44,11 @@
         <Parameter Name="char_index" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="char_index"> a character index</param>
-        <summary>The index into the array of hyperlinks that is associated with the character specified by <paramref name="char_index" />, or -1 if there is no hyperlink associated with this character.</summary>
-        <returns> an index into the array of hyperlinks in hypertext</returns>
-        <remarks />
+        <param name="char_index">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LinkSelected">
@@ -59,11 +58,10 @@
       <ReturnValue>
         <ReturnType>Atk.LinkSelectedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NLinks">
@@ -74,9 +72,10 @@
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>The number of links within this hypertext document.</summary>
-        <value>The number of links within this hypertext document.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/HypertextImplementor.xml b/doc/en/Atk/IHypertextImplementor.xml
similarity index 83%
rename from doc/en/Atk/HypertextImplementor.xml
rename to doc/en/Atk/IHypertextImplementor.xml
index 55e9445..5851d42 100644
--- a/doc/en/Atk/HypertextImplementor.xml
+++ b/doc/en/Atk/IHypertextImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="HypertextImplementor" FullName="Atk.HypertextImplementor">
-  <TypeSignature Language="C#" Value="public interface HypertextImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract HypertextImplementor implements class GLib.IWrapper" />
+<Type Name="IHypertextImplementor" FullName="Atk.IHypertextImplementor">
+  <TypeSignature Language="C#" Value="public interface IHypertextImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IHypertextImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Hypertext implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Hypertext" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetLink">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetLinkIndex">
@@ -52,6 +53,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NLinks">
@@ -65,6 +67,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/Image.xml b/doc/en/Atk/IImage.xml
similarity index 51%
rename from doc/en/Atk/Image.xml
rename to doc/en/Atk/IImage.xml
index 329bcd3..9767a72 100644
--- a/doc/en/Atk/Image.xml
+++ b/doc/en/Atk/IImage.xml
@@ -1,42 +1,18 @@
-<Type Name="Image" FullName="Atk.Image">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Image : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Image implements class GLib.IWrapper" />
+<Type Name="IImage" FullName="Atk.IImage">
+  <TypeSignature Language="C#" Value="public interface IImage : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IImage implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>
-      Implemented by AtkObject subtypes on behalf of components which
-       display image/pixmap information onscreen, and which provide
-       information (other than just widget borders, etc.) via that
-       image content.
-    </summary>
-    <remarks>
-      <para>
-        <see cref="T:Atk.Image" /> should be implemented by <see cref="T:Atk.Object" /> subtypes on behalf
-        of components which display image/pixmap information onscreen,
-        and which provide information (other than just widget borders,
-        etc.) via that image content. For instance, icons, buttons
-        with icons, toolbar elements, and image viewing panes
-        typically should implement AtkImage.
-      </para>
-      <para>
-        <see cref="T:Atk.Image" /> primarily provides two types of information:
-        coordinate information (useful for screen review mode of
-        screenreaders, and for use by onscreen magnifiers), and
-        descriptive information. The descriptive information is
-        provided for alternative, text-only presentation of the most
-        significant information present in the image.
-      </para>
-    </remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetImagePosition">
@@ -52,18 +28,12 @@
         <Parameter Name="coord_type" Type="Atk.CoordType" />
       </Parameters>
       <Docs>
-        <param name="x">x coordinate position</param>
-        <param name="y">y coordinate position</param>
-        <param name="coord_type">
-            specifies whether the coordinates are relative to the
-            screen or to the components top level window
-          </param>
-        <summary>Gets the position of the image in the form of a point specifying the images top-left corner.</summary>
-        <remarks>
-          <para>
-            The values of <paramref name="x" /> and <paramref name="y" />are returned as -1 if the values cannot be obtained.
-          </para>
-        </remarks>
+        <param name="x">To be added.</param>
+        <param name="y">To be added.</param>
+        <param name="coord_type">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetImageSize">
@@ -78,13 +48,11 @@
         <Parameter Name="height" Type="System.Int32&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="width">the image width</param>
-        <param name="height">the image height</param>
-        <summary>Get the width and height in pixels for the specified image.</summary>
-        <remarks>
-          The values of <paramref name="width" /> and <paramref name="height" /> are returned as -1 if the values cannot be
-          obtained.
-        </remarks>
+        <param name="width">To be added.</param>
+        <param name="height">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ImageDescription">
@@ -95,9 +63,10 @@
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Get a textual description of this image.</summary>
-        <value>a string representing the image description</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ImageLocale">
@@ -111,7 +80,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetImageDescription">
@@ -125,11 +94,11 @@
         <Parameter Name="description" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="description">a description to set for image</param>
-        <summary>Sets the textual description for this image.</summary>
-        <returns>
-          <see langword="true" />, or <see langword="false" /> if operation could not be completed.</returns>
-        <remarks />
+        <param name="description">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ImageImplementor.xml b/doc/en/Atk/IImageImplementor.xml
similarity index 88%
rename from doc/en/Atk/ImageImplementor.xml
rename to doc/en/Atk/IImageImplementor.xml
index f5481e8..7a60903 100644
--- a/doc/en/Atk/ImageImplementor.xml
+++ b/doc/en/Atk/IImageImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ImageImplementor" FullName="Atk.ImageImplementor">
-  <TypeSignature Language="C#" Value="public interface ImageImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ImageImplementor implements class GLib.IWrapper" />
+<Type Name="IImageImplementor" FullName="Atk.IImageImplementor">
+  <TypeSignature Language="C#" Value="public interface IImageImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IImageImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Image implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Image" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetImagePosition">
@@ -38,6 +38,7 @@
         <param name="coord_type">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetImageSize">
@@ -56,6 +57,7 @@
         <param name="height">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ImageDescription">
@@ -69,6 +71,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ImageLocale">
@@ -82,6 +85,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetImageDescription">
@@ -99,6 +103,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/Implementor.xml b/doc/en/Atk/IImplementor.xml
similarity index 54%
rename from doc/en/Atk/Implementor.xml
rename to doc/en/Atk/IImplementor.xml
index c47973c..32e98a4 100644
--- a/doc/en/Atk/Implementor.xml
+++ b/doc/en/Atk/IImplementor.xml
@@ -1,20 +1,18 @@
-<Type Name="Implementor" FullName="Atk.Implementor">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Implementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Implementor implements class GLib.IWrapper" />
+<Type Name="IImplementor" FullName="Atk.IImplementor">
+  <TypeSignature Language="C#" Value="public interface IImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>To be added</summary>
-    <remarks />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="RefAccessible">
@@ -26,9 +24,10 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Atk.Object" /></returns>
-        <remarks />
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ImplementorImplementor.xml b/doc/en/Atk/IImplementorImplementor.xml
similarity index 69%
rename from doc/en/Atk/ImplementorImplementor.xml
rename to doc/en/Atk/IImplementorImplementor.xml
index 1f94335..23b4209 100644
--- a/doc/en/Atk/ImplementorImplementor.xml
+++ b/doc/en/Atk/IImplementorImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ImplementorImplementor" FullName="Atk.ImplementorImplementor">
-  <TypeSignature Language="C#" Value="public interface ImplementorImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ImplementorImplementor implements class GLib.IWrapper" />
+<Type Name="IImplementorImplementor" FullName="Atk.IImplementorImplementor">
+  <TypeSignature Language="C#" Value="public interface IImplementorImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IImplementorImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Implementor implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Implementor" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="RefAccessible">
@@ -32,6 +32,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/SelectionImplementor.xml b/doc/en/Atk/ISelection.xml
similarity index 81%
copy from doc/en/Atk/SelectionImplementor.xml
copy to doc/en/Atk/ISelection.xml
index c08ca6f..ac511dc 100644
--- a/doc/en/Atk/SelectionImplementor.xml
+++ b/doc/en/Atk/ISelection.xml
@@ -1,6 +1,6 @@
-<Type Name="SelectionImplementor" FullName="Atk.SelectionImplementor">
-  <TypeSignature Language="C#" Value="public interface SelectionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract SelectionImplementor implements class GLib.IWrapper" />
+<Type Name="ISelection" FullName="Atk.ISelection">
+  <TypeSignature Language="C#" Value="public interface ISelection : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ISelection implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,15 +9,10 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(Atk.SelectionAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
   <Docs>
-    <summary>Selection implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Selection" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddSelection">
@@ -35,6 +30,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ClearSelection">
@@ -49,6 +45,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsChildSelected">
@@ -66,6 +63,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefSelection">
@@ -83,6 +81,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveSelection">
@@ -100,6 +99,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectAllSelection">
@@ -114,6 +114,20 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SelectionChanged">
+      <MemberSignature Language="C#" Value="public event EventHandler SelectionChanged;" />
+      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler SelectionChanged" />
+      <MemberType>Event</MemberType>
+      <ReturnValue>
+        <ReturnType>System.EventHandler</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectionCount">
@@ -127,6 +141,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/SelectionImplementor.xml b/doc/en/Atk/ISelectionImplementor.xml
similarity index 88%
rename from doc/en/Atk/SelectionImplementor.xml
rename to doc/en/Atk/ISelectionImplementor.xml
index c08ca6f..a786a4e 100644
--- a/doc/en/Atk/SelectionImplementor.xml
+++ b/doc/en/Atk/ISelectionImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="SelectionImplementor" FullName="Atk.SelectionImplementor">
-  <TypeSignature Language="C#" Value="public interface SelectionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract SelectionImplementor implements class GLib.IWrapper" />
+<Type Name="ISelectionImplementor" FullName="Atk.ISelectionImplementor">
+  <TypeSignature Language="C#" Value="public interface ISelectionImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ISelectionImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Selection implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Selection" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddSelection">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ClearSelection">
@@ -49,6 +50,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsChildSelected">
@@ -66,6 +68,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefSelection">
@@ -83,6 +86,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveSelection">
@@ -100,6 +104,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectAllSelection">
@@ -114,6 +119,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectionCount">
@@ -127,6 +133,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/StreamableContent.xml b/doc/en/Atk/IStreamableContent.xml
similarity index 64%
rename from doc/en/Atk/StreamableContent.xml
rename to doc/en/Atk/IStreamableContent.xml
index 81f2c30..e554dbc 100644
--- a/doc/en/Atk/StreamableContent.xml
+++ b/doc/en/Atk/IStreamableContent.xml
@@ -1,20 +1,18 @@
-<Type Name="StreamableContent" FullName="Atk.StreamableContent">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface StreamableContent : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract StreamableContent implements class GLib.IWrapper" />
+<Type Name="IStreamableContent" FullName="Atk.IStreamableContent">
+  <TypeSignature Language="C#" Value="public interface IStreamableContent : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IStreamableContent implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>The interface which provides access to streamable content.</summary>
-    <remarks />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetMimeType">
@@ -28,10 +26,11 @@
         <Parameter Name="i" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="i"> an int representing the position of the mime type starting from 0</param>
-        <summary>The string of the specified mime type.</summary>
-        <returns>a string representing the specified mime type</returns>
-        <remarks>The first mime type is at position 0, the second at position 1, and so on.</remarks>
+        <param name="i">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetStream">
@@ -45,10 +44,11 @@
         <Parameter Name="mime_type" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="mime_type">a <see cref="T:System.String" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.IntPtr" /></returns>
-        <remarks>To be added</remarks>
+        <param name="mime_type">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetUri">
@@ -66,7 +66,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NMimeTypes">
@@ -77,9 +77,10 @@
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>The number of mime types supported by this object.</summary>
-        <value>the number of mime types supported by the object.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/StreamableContentImplementor.xml b/doc/en/Atk/IStreamableContentImplementor.xml
similarity index 85%
rename from doc/en/Atk/StreamableContentImplementor.xml
rename to doc/en/Atk/IStreamableContentImplementor.xml
index 18f06ab..f244160 100644
--- a/doc/en/Atk/StreamableContentImplementor.xml
+++ b/doc/en/Atk/IStreamableContentImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="StreamableContentImplementor" FullName="Atk.StreamableContentImplementor">
-  <TypeSignature Language="C#" Value="public interface StreamableContentImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract StreamableContentImplementor implements class GLib.IWrapper" />
+<Type Name="IStreamableContentImplementor" FullName="Atk.IStreamableContentImplementor">
+  <TypeSignature Language="C#" Value="public interface IStreamableContentImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IStreamableContentImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>StreamableContent implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.StreamableContent" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetMimeType">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetStream">
@@ -52,6 +53,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetUri">
@@ -69,6 +71,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NMimeTypes">
@@ -82,6 +85,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/Table.xml b/doc/en/Atk/ITable.xml
similarity index 67%
rename from doc/en/Atk/Table.xml
rename to doc/en/Atk/ITable.xml
index 11e2201..80942b3 100644
--- a/doc/en/Atk/Table.xml
+++ b/doc/en/Atk/ITable.xml
@@ -1,30 +1,18 @@
-<Type Name="Table" FullName="Atk.Table">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Table : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Table implements class GLib.IWrapper" />
+<Type Name="ITable" FullName="Atk.ITable">
+  <TypeSignature Language="C#" Value="public interface ITable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>The interface implemented for UI components which contain tabular or row/column information.</summary>
-    <remarks>
-      <para>
-        <see cref="T:Atk.Table" /> should be implemented by components which present elements ordered via rows and columns. It may also be used to present tree-structured information if the nodes of the trees can be said to contain multiple "columns". Individual elements of an <see cref="T:Atk.Table" /> are typically referred to as "cells", and these cells are exposed by <see cref="T:Atk.Table" /> as child <see cref="T:Atk.Object" />s of the <see cref="T:Atk.Table" />. Both row/column an [...]
-</para>
-      <para>
-Children of <see cref="T:Atk.Table" /> are frequently "lightweight" objects, that is, they may not have backing widgets in the host UI toolkit. They are therefore often transient.
-</para>
-      <para>
-Since tables are often very complex, <see cref="T:Atk.Table" /> includes provision for offering simplified summary information, as well as row and column headers and captions. Headers and captions are <see cref="T:Atk.Object" />s which may implement other interfaces (<see cref="T:Atk.Text" />, <see cref="T:Atk.Image" />, etc.) as appropriate. <see cref="T:Atk.Table" /> summaries may themselves be (simplified) <see cref="T:Atk.Table" />s, etc. 
-</para>
-    </remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddColumnSelection">
@@ -38,10 +26,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AddRowSelection">
@@ -55,10 +44,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="row" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Caption">
@@ -68,12 +58,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>Atk.Object</ReturnType>
       </ReturnValue>
-      <Parameters>
-      </Parameters>
       <Docs>
-        <summary>To be added</summary>
-        <value>To be added: an object of type 'Atk.Object'</value>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ColumnDeleted">
@@ -83,10 +72,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>Atk.ColumnDeletedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ColumnInserted">
@@ -96,10 +85,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>Atk.ColumnInsertedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ColumnReordered">
@@ -109,10 +98,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnAtIndex">
@@ -126,10 +115,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="index_" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="index_">a <see cref="T:System.Int32" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
+        <param name="index_">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnDescription">
@@ -143,10 +133,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'string'</returns>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnExtentAt">
@@ -161,11 +152,12 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'int'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnHeader">
@@ -179,10 +171,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'Atk.Object'</returns>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIndexAt">
@@ -197,11 +190,12 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'int'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowAtIndex">
@@ -215,10 +209,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="index_" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="index_">a <see cref="T:System.Int32" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
+        <param name="index_">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowDescription">
@@ -232,10 +227,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="row" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'string'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowExtentAt">
@@ -250,11 +246,12 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'int'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowHeader">
@@ -268,10 +265,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="row" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'Atk.Object'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectedColumns">
@@ -285,10 +283,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="selected" Type="System.Int32&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="selected">a <see cref="T:System.Int32&" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
+        <param name="selected">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectedRows">
@@ -302,10 +301,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="selected" Type="System.Int32&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="selected">a <see cref="T:System.Int32&" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
+        <param name="selected">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsColumnSelected">
@@ -319,10 +319,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsRowSelected">
@@ -336,10 +337,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="row" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsSelected">
@@ -354,11 +356,12 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ModelChanged">
@@ -368,10 +371,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NColumns">
@@ -382,9 +385,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added</summary>
-        <value>To be added: an object of type 'int'</value>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NRows">
@@ -395,9 +399,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added</summary>
-        <value>To be added: an object of type 'int'</value>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefAt">
@@ -412,11 +417,12 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'Atk.Object'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveColumnSelection">
@@ -430,10 +436,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveRowSelection">
@@ -447,10 +454,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="row" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'bool'</returns>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowDeleted">
@@ -460,10 +468,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>Atk.RowDeletedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowInserted">
@@ -473,10 +481,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>Atk.RowInsertedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowReordered">
@@ -486,10 +494,10 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetColumnDescription">
@@ -504,10 +512,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="description" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <param name="description">To be added: an object of type 'string'</param>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <param name="description">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetColumnHeader">
@@ -522,10 +531,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="header" Type="Atk.Object" />
       </Parameters>
       <Docs>
-        <param name="column">To be added: an object of type 'int'</param>
-        <param name="header">To be added: an object of type 'Atk.Object'</param>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <param name="column">To be added.</param>
+        <param name="header">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRowDescription">
@@ -540,10 +550,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="description" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="description">To be added: an object of type 'string'</param>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="description">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRowHeader">
@@ -558,10 +569,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
         <Parameter Name="header" Type="Atk.Object" />
       </Parameters>
       <Docs>
-        <param name="row">To be added: an object of type 'int'</param>
-        <param name="header">To be added: an object of type 'Atk.Object'</param>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
+        <param name="row">To be added.</param>
+        <param name="header">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Summary">
@@ -571,12 +583,11 @@ Since tables are often very complex, <see cref="T:Atk.Table" /> includes provisi
       <ReturnValue>
         <ReturnType>Atk.Object</ReturnType>
       </ReturnValue>
-      <Parameters>
-      </Parameters>
       <Docs>
-        <summary>To be added</summary>
-        <value>To be added: an object of type 'Atk.Object'</value>
-        <remarks>To be added</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/TableImplementor.xml b/doc/en/Atk/ITableImplementor.xml
similarity index 93%
rename from doc/en/Atk/TableImplementor.xml
rename to doc/en/Atk/ITableImplementor.xml
index 24172ef..5e5cda9 100644
--- a/doc/en/Atk/TableImplementor.xml
+++ b/doc/en/Atk/ITableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TableImplementor" FullName="Atk.TableImplementor">
-  <TypeSignature Language="C#" Value="public interface TableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TableImplementor implements class GLib.IWrapper" />
+<Type Name="ITableImplementor" FullName="Atk.ITableImplementor">
+  <TypeSignature Language="C#" Value="public interface ITableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Table implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Table" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddColumnSelection">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AddRowSelection">
@@ -52,6 +53,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Caption">
@@ -65,6 +67,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnAtIndex">
@@ -82,6 +85,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnDescription">
@@ -99,6 +103,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnExtentAt">
@@ -118,6 +123,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnHeader">
@@ -135,6 +141,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIndexAt">
@@ -154,6 +161,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowAtIndex">
@@ -171,6 +179,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowDescription">
@@ -188,6 +197,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowExtentAt">
@@ -207,6 +217,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowHeader">
@@ -224,6 +235,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectedColumns">
@@ -241,6 +253,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectedRows">
@@ -258,6 +271,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsColumnSelected">
@@ -275,6 +289,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsRowSelected">
@@ -292,6 +307,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsSelected">
@@ -311,6 +327,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NColumns">
@@ -324,6 +341,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NRows">
@@ -337,6 +355,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefAt">
@@ -356,6 +375,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveColumnSelection">
@@ -373,6 +393,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveRowSelection">
@@ -390,6 +411,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetColumnDescription">
@@ -408,6 +430,7 @@
         <param name="description">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetColumnHeader">
@@ -426,6 +449,7 @@
         <param name="header">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRowDescription">
@@ -444,6 +468,7 @@
         <param name="description">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRowHeader">
@@ -462,6 +487,7 @@
         <param name="header">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Summary">
@@ -475,6 +501,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/TextImplementor.xml b/doc/en/Atk/IText.xml
similarity index 83%
copy from doc/en/Atk/TextImplementor.xml
copy to doc/en/Atk/IText.xml
index d980ab8..7011e68 100644
--- a/doc/en/Atk/TextImplementor.xml
+++ b/doc/en/Atk/IText.xml
@@ -1,6 +1,6 @@
-<Type Name="TextImplementor" FullName="Atk.TextImplementor">
-  <TypeSignature Language="C#" Value="public interface TextImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TextImplementor implements class GLib.IWrapper" />
+<Type Name="IText" FullName="Atk.IText">
+  <TypeSignature Language="C#" Value="public interface IText : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IText implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,15 +9,10 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(Atk.TextAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
   <Docs>
-    <summary>Text implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Text" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddSelection">
@@ -37,6 +32,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CaretOffset">
@@ -50,6 +46,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CharacterCount">
@@ -63,6 +60,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DefaultAttributes">
@@ -76,6 +74,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetBoundedRanges">
@@ -99,6 +98,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetCharacterAtOffset">
@@ -116,6 +116,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetCharacterExtents">
@@ -142,6 +143,7 @@
         <param name="coords">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetOffsetAtPoint">
@@ -163,27 +165,27 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRangeExtents">
-      <MemberSignature Language="C#" Value="public void GetRangeExtents (int start_offset, int end_offset, Atk.CoordType coord_type, out Atk.TextRectangle rect);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetRangeExtents(int32 start_offset, int32 end_offset, valuetype Atk.CoordType coord_type, valuetype Atk.TextRectangle rect) cil managed" />
+      <MemberSignature Language="C#" Value="public Atk.TextRectangle GetRangeExtents (int start_offset, int end_offset, Atk.CoordType coord_type);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Atk.TextRectangle GetRangeExtents(int32 start_offset, int32 end_offset, valuetype Atk.CoordType coord_type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
+        <ReturnType>Atk.TextRectangle</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="start_offset" Type="System.Int32" />
         <Parameter Name="end_offset" Type="System.Int32" />
         <Parameter Name="coord_type" Type="Atk.CoordType" />
-        <Parameter Name="rect" Type="Atk.TextRectangle&" RefType="out" />
       </Parameters>
       <Docs>
         <param name="start_offset">To be added.</param>
         <param name="end_offset">To be added.</param>
         <param name="coord_type">To be added.</param>
-        <param name="rect">To be added.</param>
         <summary>To be added.</summary>
+        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
@@ -229,6 +231,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetText">
@@ -248,6 +251,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetTextAfterOffset">
@@ -271,6 +275,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetTextAtOffset">
@@ -294,6 +299,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetTextBeforeOffset">
@@ -317,6 +323,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NSelections">
@@ -330,6 +337,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveSelection">
@@ -347,6 +355,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCaretOffset">
@@ -364,6 +373,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSelection">
@@ -385,6 +395,59 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TextAttributesChanged">
+      <MemberSignature Language="C#" Value="public event EventHandler TextAttributesChanged;" />
+      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler TextAttributesChanged" />
+      <MemberType>Event</MemberType>
+      <ReturnValue>
+        <ReturnType>System.EventHandler</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TextCaretMoved">
+      <MemberSignature Language="C#" Value="public event Atk.TextCaretMovedHandler TextCaretMoved;" />
+      <MemberSignature Language="ILAsm" Value=".event class Atk.TextCaretMovedHandler TextCaretMoved" />
+      <MemberType>Event</MemberType>
+      <ReturnValue>
+        <ReturnType>Atk.TextCaretMovedHandler</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TextChanged">
+      <MemberSignature Language="C#" Value="public event Atk.TextChangedHandler TextChanged;" />
+      <MemberSignature Language="ILAsm" Value=".event class Atk.TextChangedHandler TextChanged" />
+      <MemberType>Event</MemberType>
+      <ReturnValue>
+        <ReturnType>Atk.TextChangedHandler</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TextSelectionChanged">
+      <MemberSignature Language="C#" Value="public event EventHandler TextSelectionChanged;" />
+      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler TextSelectionChanged" />
+      <MemberType>Event</MemberType>
+      <ReturnValue>
+        <ReturnType>System.EventHandler</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/TextImplementor.xml b/doc/en/Atk/ITextImplementor.xml
similarity index 95%
rename from doc/en/Atk/TextImplementor.xml
rename to doc/en/Atk/ITextImplementor.xml
index d980ab8..84dd96a 100644
--- a/doc/en/Atk/TextImplementor.xml
+++ b/doc/en/Atk/ITextImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TextImplementor" FullName="Atk.TextImplementor">
-  <TypeSignature Language="C#" Value="public interface TextImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TextImplementor implements class GLib.IWrapper" />
+<Type Name="ITextImplementor" FullName="Atk.ITextImplementor">
+  <TypeSignature Language="C#" Value="public interface ITextImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITextImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Text implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Text" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddSelection">
@@ -37,6 +37,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CaretOffset">
@@ -50,6 +51,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CharacterCount">
@@ -63,6 +65,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DefaultAttributes">
@@ -76,6 +79,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetBoundedRanges">
@@ -99,6 +103,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetCharacterAtOffset">
@@ -116,6 +121,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetCharacterExtents">
@@ -142,6 +148,7 @@
         <param name="coords">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetOffsetAtPoint">
@@ -163,6 +170,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRangeExtents">
@@ -229,6 +237,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetText">
@@ -248,6 +257,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetTextAfterOffset">
@@ -271,6 +281,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetTextAtOffset">
@@ -294,6 +305,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetTextBeforeOffset">
@@ -317,6 +329,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NSelections">
@@ -330,6 +343,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveSelection">
@@ -347,6 +361,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCaretOffset">
@@ -364,6 +379,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSelection">
@@ -385,6 +401,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/Value.xml b/doc/en/Atk/IValue.xml
similarity index 72%
rename from doc/en/Atk/Value.xml
rename to doc/en/Atk/IValue.xml
index 0c3f0b9..4550f9b 100644
--- a/doc/en/Atk/Value.xml
+++ b/doc/en/Atk/IValue.xml
@@ -1,22 +1,18 @@
-<Type Name="Value" FullName="Atk.Value">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Value : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Value implements class GLib.IWrapper" />
+<Type Name="IValue" FullName="Atk.IValue">
+  <TypeSignature Language="C#" Value="public interface IValue : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IValue implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>The interface implemented by valuators and components which display or select a value from a bounded range of values.
-</summary>
-    <remarks>
-      <see cref="T:Atk.Value" /> should be implemented for components which either display a value from a bounded range, or which allow the user to specify a value from a bounded range, or both. For instance, most sliders and range controls, as well as dials, should have <see cref="T:Atk.Object" /> representations which implement <see cref="T:Atk.Value" /> on the component's behalf. <see cref="T:Atk.Value" />s may be read-only, in which case attempts to alter the value return <see langwo [...]
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetCurrentValue">
@@ -98,11 +94,11 @@
         <Parameter Name="value" Type="GLib.Value" />
       </Parameters>
       <Docs>
-        <param name="value">an object of type <see cref="T:GLib.Value" /> which is the desired new accessible value.</param>
-        <summary>Sets the value of this object.</summary>
-        <returns>
-          <see langword="true" /> if new value is successfully set,  otherwise <see langword="false" />.</returns>
-        <remarks>To be added</remarks>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ValueImplementor.xml b/doc/en/Atk/IValueImplementor.xml
similarity index 91%
rename from doc/en/Atk/ValueImplementor.xml
rename to doc/en/Atk/IValueImplementor.xml
index 45cbaac..06dbe47 100644
--- a/doc/en/Atk/ValueImplementor.xml
+++ b/doc/en/Atk/IValueImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ValueImplementor" FullName="Atk.ValueImplementor">
-  <TypeSignature Language="C#" Value="public interface ValueImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ValueImplementor implements class GLib.IWrapper" />
+<Type Name="IValueImplementor" FullName="Atk.IValueImplementor">
+  <TypeSignature Language="C#" Value="public interface IValueImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IValueImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Value implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Atk.Value" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="GetCurrentValue">
@@ -103,6 +103,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Atk/ImageAdapter.xml b/doc/en/Atk/ImageAdapter.xml
index 23b6fc8..d0486b7 100644
--- a/doc/en/Atk/ImageAdapter.xml
+++ b/doc/en/Atk/ImageAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ImageAdapter" FullName="Atk.ImageAdapter">
-  <TypeSignature Language="C#" Value="public class ImageAdapter : GLib.GInterfaceAdapter, Atk.Image, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ImageAdapter extends GLib.GInterfaceAdapter implements class Atk.Image, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ImageAdapter : GLib.GInterfaceAdapter, Atk.IImage, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ImageAdapter extends GLib.GInterfaceAdapter implements class Atk.IImage, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Image</InterfaceName>
+      <InterfaceName>Atk.IImage</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ImageAdapter (Atk.ImageImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ImageImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ImageAdapter (Atk.IImageImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IImageImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.ImageImplementor" />
+        <Parameter Name="implementor" Type="Atk.IImageImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -97,11 +98,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Image GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Image GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IImage GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IImage GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Image</ReturnType>
+        <ReturnType>Atk.IImage</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -115,11 +116,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Image GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Image GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IImage GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IImage GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Image</ReturnType>
+        <ReturnType>Atk.IImage</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -131,11 +132,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -188,11 +204,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.ImageImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ImageImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IImageImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IImageImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.ImageImplementor</ReturnType>
+        <ReturnType>Atk.IImageImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/ImplementorAdapter.xml b/doc/en/Atk/ImplementorAdapter.xml
index 67120f9..19854d6 100644
--- a/doc/en/Atk/ImplementorAdapter.xml
+++ b/doc/en/Atk/ImplementorAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ImplementorAdapter" FullName="Atk.ImplementorAdapter">
-  <TypeSignature Language="C#" Value="public class ImplementorAdapter : GLib.GInterfaceAdapter, Atk.Implementor, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ImplementorAdapter extends GLib.GInterfaceAdapter implements class Atk.Implementor, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ImplementorAdapter : GLib.GInterfaceAdapter, Atk.IImplementor, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ImplementorAdapter extends GLib.GInterfaceAdapter implements class Atk.IImplementor, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Implementor</InterfaceName>
+      <InterfaceName>Atk.IImplementor</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ImplementorAdapter (Atk.ImplementorImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ImplementorImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ImplementorAdapter (Atk.IImplementorImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IImplementorImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.ImplementorImplementor" />
+        <Parameter Name="implementor" Type="Atk.IImplementorImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -59,11 +60,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Implementor GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Implementor GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IImplementor GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IImplementor GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Implementor</ReturnType>
+        <ReturnType>Atk.IImplementor</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -77,11 +78,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Implementor GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Implementor GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IImplementor GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IImplementor GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Implementor</ReturnType>
+        <ReturnType>Atk.IImplementor</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -93,11 +94,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -124,11 +140,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.ImplementorImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ImplementorImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IImplementorImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IImplementorImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.ImplementorImplementor</ReturnType>
+        <ReturnType>Atk.IImplementorImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/LinkSelectedHandler.xml b/doc/en/Atk/LinkSelectedHandler.xml
index 8e545cb..fe6ffbf 100644
--- a/doc/en/Atk/LinkSelectedHandler.xml
+++ b/doc/en/Atk/LinkSelectedHandler.xml
@@ -17,8 +17,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.NoOpObject.LinkSelected" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/Misc.xml b/doc/en/Atk/Misc.xml
index a193f26..01e87ed 100644
--- a/doc/en/Atk/Misc.xml
+++ b/doc/en/Atk/Misc.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -45,9 +45,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Atk.Misc" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Instance">
diff --git a/doc/en/Atk/NoOpObject.xml b/doc/en/Atk/NoOpObject.xml
index 2531d6f..be35a19 100644
--- a/doc/en/Atk/NoOpObject.xml
+++ b/doc/en/Atk/NoOpObject.xml
@@ -1,6 +1,6 @@
 <Type Name="NoOpObject" FullName="Atk.NoOpObject">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class NoOpObject : Atk.Object, Atk.Action, Atk.Component, Atk.Document, Atk.EditableText, Atk.Hypertext, Atk.Image, Atk.Selection, Atk.Table, Atk.Text, Atk.Value" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NoOpObject extends Atk.Object implements class Atk.Action, class Atk.Component, class Atk.Document, class Atk.EditableText, class Atk.Hypertext, class Atk.Image, class Atk.Selection, class Atk.Table, class Atk.Text, class Atk.Value, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class NoOpObject : Atk.Object, Atk.IAction, Atk.IComponent, Atk.IDocument, Atk.IEditableText, Atk.IHypertext, Atk.IImage, Atk.ISelection, Atk.ITable, Atk.IText, Atk.IValue" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NoOpObject extends Atk.Object implements class Atk.IAction, class Atk.IComponent, class Atk.IDocument, class Atk.IEditableText, class Atk.IHypertext, class Atk.IImage, class Atk.ISelection, class Atk.ITable, class Atk.IText, class Atk.IValue, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,34 +12,34 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Action</InterfaceName>
+      <InterfaceName>Atk.IAction</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Component</InterfaceName>
+      <InterfaceName>Atk.IComponent</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Document</InterfaceName>
+      <InterfaceName>Atk.IDocument</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.EditableText</InterfaceName>
+      <InterfaceName>Atk.IEditableText</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Hypertext</InterfaceName>
+      <InterfaceName>Atk.IHypertext</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Image</InterfaceName>
+      <InterfaceName>Atk.IImage</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Selection</InterfaceName>
+      <InterfaceName>Atk.ISelection</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Table</InterfaceName>
+      <InterfaceName>Atk.ITable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Text</InterfaceName>
+      <InterfaceName>Atk.IText</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Atk.Value</InterfaceName>
+      <InterfaceName>Atk.IValue</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -179,9 +179,9 @@
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
-    <Member MemberName="Atk.Selection.RemoveSelection">
-      <MemberSignature Language="C#" Value="bool Selection.RemoveSelection (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool Atk.Selection.RemoveSelection(int32 i) cil managed" />
+    <Member MemberName="Atk.ISelection.RemoveSelection">
+      <MemberSignature Language="C#" Value="bool ISelection.RemoveSelection (int i);" />
+      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool Atk.ISelection.RemoveSelection(int32 i) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -197,9 +197,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Atk.Text.RemoveSelection">
-      <MemberSignature Language="C#" Value="bool Text.RemoveSelection (int selection_num);" />
-      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool Atk.Text.RemoveSelection(int32 selection_num) cil managed" />
+    <Member MemberName="Atk.IText.RemoveSelection">
+      <MemberSignature Language="C#" Value="bool IText.RemoveSelection (int selection_num);" />
+      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool Atk.IText.RemoveSelection(int32 selection_num) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -1646,8 +1646,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Atk.NoOpObject.LoadComplete" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Atk.NoOpObject.LoadComplete" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
@@ -1665,8 +1665,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Atk.NoOpObject.LoadStopped" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Atk.NoOpObject.LoadStopped" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
@@ -1702,8 +1702,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Atk.NoOpObject.Reload" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Atk.NoOpObject.Reload" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
diff --git a/doc/en/Atk/Object+ChildrenChangedDetail.xml b/doc/en/Atk/Object+ChildrenChangedDetail.xml
new file mode 100644
index 0000000..93d913b
--- /dev/null
+++ b/doc/en/Atk/Object+ChildrenChangedDetail.xml
@@ -0,0 +1,41 @@
+<Type Name="Object+ChildrenChangedDetail" FullName="Atk.Object+ChildrenChangedDetail">
+  <TypeSignature Language="C#" Value="protected enum Object.ChildrenChangedDetail" />
+  <TypeSignature Language="ILAsm" Value=".class nested protected auto ansi sealed Object/ChildrenChangedDetail extends System.Enum" />
+  <AssemblyInfo>
+    <AssemblyName>atk-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Enum</BaseTypeName>
+  </Base>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Add">
+      <MemberSignature Language="C#" Value="Add" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Atk.Object/ChildrenChangedDetail Add = int32(0)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>Atk.Object+ChildrenChangedDetail</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Remove">
+      <MemberSignature Language="C#" Value="Remove" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Atk.Object/ChildrenChangedDetail Remove = int32(1)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>Atk.Object+ChildrenChangedDetail</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/Atk/Plug.xml b/doc/en/Atk/Plug.xml
index cdc0f31..26cd1ec 100644
--- a/doc/en/Atk/Plug.xml
+++ b/doc/en/Atk/Plug.xml
@@ -1,6 +1,6 @@
 <Type Name="Plug" FullName="Atk.Plug">
-  <TypeSignature Language="C#" Value="public class Plug : Atk.Object, Atk.Component" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Plug extends Atk.Object implements class Atk.Component, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class Plug : Atk.Object, Atk.IComponent" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Plug extends Atk.Object implements class Atk.IComponent, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Component</InterfaceName>
+      <InterfaceName>Atk.IComponent</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -203,9 +203,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Atk.Plug" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -268,8 +268,8 @@
       </Parameters>
       <Docs>
         <param name="bounds">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Atk.Plug.BoundsChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Atk.Plug.BoundsChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Atk/PropertyChangeEventHandler.xml b/doc/en/Atk/PropertyChangeEventHandler.xml
index 7d95615..2fa99d6 100644
--- a/doc/en/Atk/PropertyChangeEventHandler.xml
+++ b/doc/en/Atk/PropertyChangeEventHandler.xml
@@ -18,8 +18,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.Object.PropertyChange" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/RowDeletedHandler.xml b/doc/en/Atk/RowDeletedHandler.xml
index b5c7d02..c16910b 100644
--- a/doc/en/Atk/RowDeletedHandler.xml
+++ b/doc/en/Atk/RowDeletedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.NoOpObject.RowDeleted" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/RowInsertedHandler.xml b/doc/en/Atk/RowInsertedHandler.xml
index 9de017c..1e35fb8 100644
--- a/doc/en/Atk/RowInsertedHandler.xml
+++ b/doc/en/Atk/RowInsertedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.NoOpObject.RowInserted" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/Selection.xml b/doc/en/Atk/Selection.xml
deleted file mode 100644
index 92d52ba..0000000
--- a/doc/en/Atk/Selection.xml
+++ /dev/null
@@ -1,193 +0,0 @@
-<Type Name="Selection" FullName="Atk.Selection">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Selection : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Selection implements class GLib.IWrapper" />
-  <AssemblyInfo>
-    <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
-    </Interface>
-  </Interfaces>
-  <Docs>
-    <summary>
-      The ATK interface implemented by container objects whose <see cref="T:Atk.Object" /> children can be selected.
-    </summary>
-    <remarks>
-      <para>
-        The ATK interface implemented by container objects whose <see cref="T:Atk.Object" /> children can be selected.
-      </para>
-      <para>
-        This should be implemented by UI components with children
-        which are exposed by <see cref="M:Atk.Object.RefChild" /> and
-        <see cref="M:Atk.Object.NChildren" />, if the use of the parent UI
-        component ordinarily involves selection of one or more of the
-        objects corresponding to those AtkObject children - for
-        example, selectable lists.
-      </para>
-      <para>
-        Note that other types of "selection" (for instance text
-        selection) are accomplished a other ATK interfaces -
-        <see cref="T:Atk.Selection" /> is limited to the selection/deselection of
-        children.
-      </para>
-    </remarks>
-  </Docs>
-  <Members>
-    <Member MemberName="AddSelection">
-      <MemberSignature Language="C#" Value="public bool AddSelection (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool AddSelection(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">A <see langword="int" /> specifying the child index.</param>
-        <summary>Adds the specified accessible child of the object to the object's selection.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ClearSelection">
-      <MemberSignature Language="C#" Value="public bool ClearSelection ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ClearSelection() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Clears the selection in the object so that no children in the object are selected.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="IsChildSelected">
-      <MemberSignature Language="C#" Value="public bool IsChildSelected (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsChildSelected(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">A <see langword="int" /> specifying the child index.</param>
-        <summary>Determines if the current child of this object is selected.</summary>
-        <returns>A bool representing the specified child is selected, or 0 if selection does not implement this interface.</returns>
-        <remarks>
-          <para>
-            Callers should not rely on 0 or on a zero value for
-            indication of whether AtkSelectionIface is implemented, they
-            should use type checking/interface checking macros or the
-            atk_get_accessible_value() convenience method.
-          </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RefSelection">
-      <MemberSignature Language="C#" Value="public Atk.Object RefSelection (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Atk.Object RefSelection(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.Object</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">To be added: an object of type 'int'</param>
-        <summary>To be added</summary>
-        <returns>To be added: an object of type 'Atk.Object'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveSelection">
-      <MemberSignature Language="C#" Value="public bool RemoveSelection (int i);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemoveSelection(int32 i) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="i" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="i">
-          A <see langword="int" /> specifying the index in the selection set. (e.g. the
-          ith selection as opposed to the ith child).
-        </param>
-        <summary>Removes the specified child of the object from the object's selection.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" />
-          otherwise.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectAllSelection">
-      <MemberSignature Language="C#" Value="public bool SelectAllSelection ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectAllSelection() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Causes every child of the object to be selected if the object supports multiple selections.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise.
-        </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectionChanged">
-      <MemberSignature Language="C#" Value="public event EventHandler SelectionChanged;" />
-      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler SelectionChanged" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Event raised when the selected is changed.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectionCount">
-      <MemberSignature Language="C#" Value="public int SelectionCount { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance int32 SelectionCount" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the number of accessible children currently selected.</summary>
-        <value>
-          A <see langword="int" /> representing the number of items
-          selected, or 0 if selection does not implement this
-          interface.
-        </value>
-        <remarks>
-          <para>
-            Callers should not rely on 0 or on a zero value for
-            indication of whether AtkSelectionIface is implemented,
-            they should use type checking/interface checking macros or
-            the atk_get_accessible_value() convenience method.
-          </para>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Atk/SelectionAdapter.xml b/doc/en/Atk/SelectionAdapter.xml
index fad9be8..8eae249 100644
--- a/doc/en/Atk/SelectionAdapter.xml
+++ b/doc/en/Atk/SelectionAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="SelectionAdapter" FullName="Atk.SelectionAdapter">
-  <TypeSignature Language="C#" Value="public class SelectionAdapter : GLib.GInterfaceAdapter, Atk.Selection, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi SelectionAdapter extends GLib.GInterfaceAdapter implements class Atk.Selection, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class SelectionAdapter : GLib.GInterfaceAdapter, Atk.ISelection, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi SelectionAdapter extends GLib.GInterfaceAdapter implements class Atk.ISelection, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Selection</InterfaceName>
+      <InterfaceName>Atk.ISelection</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SelectionAdapter (Atk.SelectionImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.SelectionImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public SelectionAdapter (Atk.ISelectionImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ISelectionImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.SelectionImplementor" />
+        <Parameter Name="implementor" Type="Atk.ISelectionImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -104,11 +105,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Selection GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Selection GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.ISelection GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.ISelection GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Selection</ReturnType>
+        <ReturnType>Atk.ISelection</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -122,11 +123,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Selection GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Selection GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.ISelection GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.ISelection GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Selection</ReturnType>
+        <ReturnType>Atk.ISelection</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -138,11 +139,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -169,11 +185,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.SelectionImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.SelectionImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.ISelectionImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ISelectionImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.SelectionImplementor</ReturnType>
+        <ReturnType>Atk.ISelectionImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/Socket.xml b/doc/en/Atk/Socket.xml
index 386db95..096cbde 100644
--- a/doc/en/Atk/Socket.xml
+++ b/doc/en/Atk/Socket.xml
@@ -1,6 +1,6 @@
 <Type Name="Socket" FullName="Atk.Socket">
-  <TypeSignature Language="C#" Value="public class Socket : Atk.Object, Atk.Component" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socket extends Atk.Object implements class Atk.Component, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class Socket : Atk.Object, Atk.IComponent" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socket extends Atk.Object implements class Atk.IComponent, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Component</InterfaceName>
+      <InterfaceName>Atk.IComponent</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -220,9 +220,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Atk.Socket" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -285,8 +285,8 @@
       </Parameters>
       <Docs>
         <param name="bounds">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Atk.Socket.BoundsChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Atk.Socket.BoundsChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Atk/StateChangeHandler.xml b/doc/en/Atk/StateChangeHandler.xml
index 266cce0..0b6b8f5 100644
--- a/doc/en/Atk/StateChangeHandler.xml
+++ b/doc/en/Atk/StateChangeHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Atk.Object.StateChange" /> event utilizes this delegate:</para>
diff --git a/doc/en/Atk/StreamableContentAdapter.xml b/doc/en/Atk/StreamableContentAdapter.xml
index 9066fdf..fc06a4a 100644
--- a/doc/en/Atk/StreamableContentAdapter.xml
+++ b/doc/en/Atk/StreamableContentAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="StreamableContentAdapter" FullName="Atk.StreamableContentAdapter">
-  <TypeSignature Language="C#" Value="public class StreamableContentAdapter : GLib.GInterfaceAdapter, Atk.StreamableContent, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi StreamableContentAdapter extends GLib.GInterfaceAdapter implements class Atk.StreamableContent, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class StreamableContentAdapter : GLib.GInterfaceAdapter, Atk.IStreamableContent, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi StreamableContentAdapter extends GLib.GInterfaceAdapter implements class Atk.IStreamableContent, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.StreamableContent</InterfaceName>
+      <InterfaceName>Atk.IStreamableContent</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public StreamableContentAdapter (Atk.StreamableContentImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.StreamableContentImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public StreamableContentAdapter (Atk.IStreamableContentImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IStreamableContentImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.StreamableContentImplementor" />
+        <Parameter Name="implementor" Type="Atk.IStreamableContentImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -76,11 +77,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.StreamableContent GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.StreamableContent GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IStreamableContent GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IStreamableContent GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.StreamableContent</ReturnType>
+        <ReturnType>Atk.IStreamableContent</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -94,11 +95,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.StreamableContent GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.StreamableContent GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IStreamableContent GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IStreamableContent GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.StreamableContent</ReturnType>
+        <ReturnType>Atk.IStreamableContent</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -110,6 +111,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetStream">
@@ -146,9 +148,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -175,11 +191,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.StreamableContentImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.StreamableContentImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IStreamableContentImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IStreamableContentImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.StreamableContentImplementor</ReturnType>
+        <ReturnType>Atk.IStreamableContentImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/TableAdapter.xml b/doc/en/Atk/TableAdapter.xml
index b78a1ef..eccd2f7 100644
--- a/doc/en/Atk/TableAdapter.xml
+++ b/doc/en/Atk/TableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TableAdapter" FullName="Atk.TableAdapter">
-  <TypeSignature Language="C#" Value="public class TableAdapter : GLib.GInterfaceAdapter, Atk.Table, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TableAdapter extends GLib.GInterfaceAdapter implements class Atk.Table, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class TableAdapter : GLib.GInterfaceAdapter, Atk.ITable, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TableAdapter extends GLib.GInterfaceAdapter implements class Atk.ITable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Table</InterfaceName>
+      <InterfaceName>Atk.ITable</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TableAdapter (Atk.TableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.TableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TableAdapter (Atk.ITableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ITableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.TableImplementor" />
+        <Parameter Name="implementor" Type="Atk.ITableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -246,11 +247,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Table GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Table GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.ITable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.ITable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Table</ReturnType>
+        <ReturnType>Atk.ITable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -264,11 +265,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Table GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Table GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.ITable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.ITable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Table</ReturnType>
+        <ReturnType>Atk.ITable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -280,6 +281,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRowAtIndex">
@@ -386,9 +388,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -415,11 +431,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.TableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.TableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.ITableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ITableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.TableImplementor</ReturnType>
+        <ReturnType>Atk.ITableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/Text.xml b/doc/en/Atk/Text.xml
deleted file mode 100644
index 7f75e2e..0000000
--- a/doc/en/Atk/Text.xml
+++ /dev/null
@@ -1,555 +0,0 @@
-<Type Name="Text" FullName="Atk.Text">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Text : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Text implements class GLib.IWrapper" />
-  <AssemblyInfo>
-    <AssemblyName>atk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
-    </Interface>
-  </Interfaces>
-  <Docs>
-    <summary>The interface implemented by components with text content.</summary>
-    <remarks>
-      <para>
-        <see cref="T:Atk.Text" /> should be implemented by <see cref="T:Atk.Object" />s on behalf of widgets that have text content which is either attributed or otherwise non-trivial. <see cref="T:Atk.Object" />s whose text content is simple, unattributed, and very brief may expose that content via atk_object_get_name instead; however if the text is editable, multi-line, typically longer than three or four words, attributed, selectable, or if the object already uses the 'name' ATK prope [...]
-</para>
-      <para>
-        <see cref="T:Atk.Text" /> provides not only traversal facilities and change notification for text content, but also caret tracking and glyph bounding box calculations. Note that the text strings are exposed as UTF-8, and are therefore potentially multi-byte, and caret-to-byte offset mapping makes no assumptions about the character length; also bounding box glyph-to-offset mapping may be complex for languages which use ligatures. 
-</para>
-    </remarks>
-  </Docs>
-  <Members>
-    <Member MemberName="AddSelection">
-      <MemberSignature Language="C#" Value="public bool AddSelection (int start_offset, int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool AddSelection(int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="start_offset" Type="System.Int32" />
-        <Parameter Name="end_offset" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="start_offset"> the start position of the selected region</param>
-        <param name="end_offset"> the end position of the selected region</param>
-        <summary>Adds a selection bounded by the specified offsets.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="CaretOffset">
-      <MemberSignature Language="C#" Value="public int CaretOffset { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance int32 CaretOffset" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the offset position of the caret (cursor).</summary>
-        <value> the offset position of the caret (cursor).</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="CharacterCount">
-      <MemberSignature Language="C#" Value="public int CharacterCount { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance int32 CharacterCount" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the character count.</summary>
-        <value> the number of characters.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DefaultAttributes">
-      <MemberSignature Language="C#" Value="public Atk.Attribute[] DefaultAttributes { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype Atk.Attribute[] DefaultAttributes" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.Attribute[]</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Creates an <see cref="T:Atk.AttributeSet" /> which consists of the default values of attributes for the text.</summary>
-        <value> an <see cref="T:Atk.AttributeSet" /> which contains the default values of attributes, at <paramref name="offset" />.</value>
-        <remarks>See the enum <see cref="T:Atk.TextAttribute" /> for types of text attributes that can be returned. Note that other attributes may also be returned.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetBoundedRanges">
-      <MemberSignature Language="C#" Value="public Atk.TextRange GetBoundedRanges (Atk.TextRectangle rect, Atk.CoordType coord_type, Atk.TextClipType x_clip_type, Atk.TextClipType y_clip_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Atk.TextRange GetBoundedRanges(valuetype Atk.TextRectangle rect, valuetype Atk.CoordType coord_type, valuetype Atk.TextClipType x_clip_type, valuetype Atk.TextClipType y_clip_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.TextRange</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="rect" Type="Atk.TextRectangle" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-        <Parameter Name="x_clip_type" Type="Atk.TextClipType" />
-        <Parameter Name="y_clip_type" Type="Atk.TextClipType" />
-      </Parameters>
-      <Docs>
-        <param name="rect">a <see cref="T:Atk.TextRectangle" /></param>
-        <param name="coord_type">a <see cref="T:System.Int32" /></param>
-        <param name="x_clip_type">a <see cref="T:System.Int32" /></param>
-        <param name="y_clip_type">a <see cref="T:System.Int32" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Atk.TextRange" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetCharacterAtOffset">
-      <MemberSignature Language="C#" Value="public char GetCharacterAtOffset (int offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance char GetCharacterAtOffset(int32 offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Char</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="offset">position</param>
-        <summary>Gets the specified text.</summary>
-        <returns>the character at <paramref name="offset" />.</returns>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetCharacterExtents">
-      <MemberSignature Language="C#" Value="public void GetCharacterExtents (int offset, out int x, out int y, out int width, out int height, Atk.CoordType coords);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetCharacterExtents(int32 offset, int32 x, int32 y, int32 width, int32 height, valuetype Atk.CoordType coords) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-        <Parameter Name="x" Type="System.Int32&" RefType="out" />
-        <Parameter Name="y" Type="System.Int32&" RefType="out" />
-        <Parameter Name="width" Type="System.Int32&" RefType="out" />
-        <Parameter Name="height" Type="System.Int32&" RefType="out" />
-        <Parameter Name="coords" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="offset"> The offset of the text character for which bounding information is required.</param>
-        <param name="x"> Pointer for the x cordinate of the bounding box.</param>
-        <param name="y"> Pointer for the y cordinate of the bounding box.</param>
-        <param name="width"> Pointer for the width of the bounding box</param>
-        <param name="height"> Pointer for the height of the bounding box.</param>
-        <param name="coords"> specify whether coordinates are relative to the screen or widget window</param>
-        <summary>Get the bounding box containing the glyph representing the character at a particular text offset.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetOffsetAtPoint">
-      <MemberSignature Language="C#" Value="public int GetOffsetAtPoint (int x, int y, Atk.CoordType coords);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 GetOffsetAtPoint(int32 x, int32 y, valuetype Atk.CoordType coords) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="coords" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="x"> screen x-position of character</param>
-        <param name="y"> screen y-position of character</param>
-        <param name="coords"> specify whether coordinates are relative to the screen or widget window</param>
-        <summary>Gets the offset of the character located at coordinates <paramref name="x" /> and <paramref name="y" />. </summary>
-        <returns> the offset to the character which is located at the specified x and y coordinates.</returns>
-        <remarks>
-          <paramref name="x" /> and <paramref name="y" /> are interpreted as being relative to the screen or this widget's window depending on <paramref name="coords" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetRangeExtents">
-      <MemberSignature Language="C#" Value="public Atk.TextRectangle GetRangeExtents (int start_offset, int end_offset, Atk.CoordType coord_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Atk.TextRectangle GetRangeExtents(int32 start_offset, int32 end_offset, valuetype Atk.CoordType coord_type) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.TextRectangle</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="start_offset" Type="System.Int32" />
-        <Parameter Name="end_offset" Type="System.Int32" />
-        <Parameter Name="coord_type" Type="Atk.CoordType" />
-      </Parameters>
-      <Docs>
-        <param name="start_offset">To be added.</param>
-        <param name="end_offset">To be added.</param>
-        <param name="coord_type">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetRunAttributes">
-      <MemberSignature Language="C#" Value="public Atk.Attribute[] GetRunAttributes (int offset, out int start_offset, out int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance valuetype Atk.Attribute[] GetRunAttributes(int32 offset, int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.Attribute[]</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-        <Parameter Name="start_offset" Type="System.Int32&" RefType="out" />
-        <Parameter Name="end_offset" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="offset">To be added.</param>
-        <param name="start_offset">To be added.</param>
-        <param name="end_offset">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetSelection">
-      <MemberSignature Language="C#" Value="public string GetSelection (int selection_num, out int start_offset, out int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetSelection(int32 selection_num, int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="selection_num" Type="System.Int32" />
-        <Parameter Name="start_offset" Type="System.Int32&" RefType="out" />
-        <Parameter Name="end_offset" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="selection_num"> The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering.</param>
-        <param name="start_offset"> passes back the start position of the selected region</param>
-        <param name="end_offset"> passes back the end position of the selected region</param>
-        <summary>Gets the text from the specified selection.</summary>
-        <returns> the selected text.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetText">
-      <MemberSignature Language="C#" Value="public string GetText (int start_offset, int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetText(int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="start_offset" Type="System.Int32" />
-        <Parameter Name="end_offset" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="start_offset"> start position</param>
-        <param name="end_offset"> end position</param>
-        <summary>Gets the specified text.</summary>
-        <returns> the text from <paramref name="start_offset" /> up to, but not including <paramref name="end_offset" />.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetTextAfterOffset">
-      <MemberSignature Language="C#" Value="public string GetTextAfterOffset (int offset, Atk.TextBoundary boundary_type, out int start_offset, out int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetTextAfterOffset(int32 offset, valuetype Atk.TextBoundary boundary_type, int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-        <Parameter Name="boundary_type" Type="Atk.TextBoundary" />
-        <Parameter Name="start_offset" Type="System.Int32&" RefType="out" />
-        <Parameter Name="end_offset" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="offset">position</param>
-        <param name="boundary_type">a <see cref="T:Atk.TextBoundary" /></param>
-        <param name="start_offset"> the start offset of the returned string.</param>
-        <param name="end_offset"> the end offset of the returned string.</param>
-        <summary>Gets the specified text.</summary>
-        <returns> the text after <paramref name="offset" /> bounded by the specified <paramref name="boundary_type" />.</returns>
-        <remarks>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.Char" /> the character after the offset is returned.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.WordStart" /> the returned string is from the word start after the offset to the next word start.
-</para>
-          <para>
-The returned string will contain the word after the offset if the offset is inside a word or if the offset is not inside a word.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.WordEnd" /> the returned string is from the word end at or after the offset to the next work end.
-</para>
-          <para>
-The returned string will contain the word after the offset if the offset is inside a word and will contain the word after the word after the offset if the offset is not inside a word.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.SentenceStart" /> the returned string is from the sentence start after the offset to the next sentence start.
-</para>
-          <para>
-The returned string will contain the sentence after the offset if the offset is inside a sentence or if the offset is not inside a sentence.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.SentenceEnd" /> the returned string is from the sentence end at or after the offset to the next sentence end.
-</para>
-          <para>
-The returned string will contain the sentence after the offset if the offset is inside a sentence and will contain the sentence after the sentence after the offset if the offset is not inside a sentence.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.LineStart" /> the returned string is from the line start after the offset to the next line start.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.LineEnd" /> the returned string is from the line end at or after the offset to the next line start.
-</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetTextAtOffset">
-      <MemberSignature Language="C#" Value="public string GetTextAtOffset (int offset, Atk.TextBoundary boundary_type, out int start_offset, out int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetTextAtOffset(int32 offset, valuetype Atk.TextBoundary boundary_type, int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-        <Parameter Name="boundary_type" Type="Atk.TextBoundary" />
-        <Parameter Name="start_offset" Type="System.Int32&" RefType="out" />
-        <Parameter Name="end_offset" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="offset"> position</param>
-        <param name="boundary_type">a <see cref="T:Atk.TextBoundary" /></param>
-        <param name="start_offset"> the start offset of the returned string.</param>
-        <param name="end_offset"> the end offset of the returned string.</param>
-        <summary>Gets the specified text.</summary>
-        <returns> the text at <paramref name="offset" /> bounded by the specified <paramref name="boundary_type" />.</returns>
-        <remarks>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.Char" /> the character after the offset is returned.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.WordStart" /> the returned string is from the word start after the offset to the next word start.
-</para>
-          <para>
-The returned string will contain the word after the offset if the offset is inside a word or if the offset is not inside a word.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.WordEnd" /> the returned string is from the word end at or after the offset to the next work end.
-</para>
-          <para>
-The returned string will contain the word after the offset if the offset is inside a word and will contain the word after the word after the offset if the offset is not inside a word.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.SentenceStart" /> the returned string is from the sentence start after the offset to the next sentence start.
-</para>
-          <para>
-The returned string will contain the sentence after the offset if the offset is inside a sentence or if the offset is not inside a sentence.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.SentenceEnd" /> the returned string is from the sentence end at or after the offset to the next sentence end.
-</para>
-          <para>
-The returned string will contain the sentence after the offset if the offset is inside a sentence and will contain the sentence after the sentence after the offset if the offset is not inside a sentence.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.LineStart" /> the returned string is from the line start after the offset to the next line start.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.LineEnd" /> the returned string is from the line end at or after the offset to the next line start.
-</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetTextBeforeOffset">
-      <MemberSignature Language="C#" Value="public string GetTextBeforeOffset (int offset, Atk.TextBoundary boundary_type, out int start_offset, out int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetTextBeforeOffset(int32 offset, valuetype Atk.TextBoundary boundary_type, int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-        <Parameter Name="boundary_type" Type="Atk.TextBoundary" />
-        <Parameter Name="start_offset" Type="System.Int32&" RefType="out" />
-        <Parameter Name="end_offset" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="offset">position</param>
-        <param name="boundary_type">a <see cref="T:Atk.TextBoundary" /></param>
-        <param name="start_offset"> the start offset of the returned string.</param>
-        <param name="end_offset"> the end offset of the returned string.</param>
-        <summary>Gets the specified text.</summary>
-        <returns> the text before <paramref name="offset" /> bounded by the specified <paramref name="boundary_type" />.</returns>
-        <remarks>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.Char" /> the character after the offset is returned.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.WordStart" /> the returned string is from the word start after the offset to the next word start.
-</para>
-          <para>
-The returned string will contain the word after the offset if the offset is inside a word or if the offset is not inside a word.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.WordEnd" /> the returned string is from the word end at or after the offset to the next work end.
-</para>
-          <para>
-The returned string will contain the word after the offset if the offset is inside a word and will contain the word after the word after the offset if the offset is not inside a word.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.SentenceStart" /> the returned string is from the sentence start after the offset to the next sentence start.
-</para>
-          <para>
-The returned string will contain the sentence after the offset if the offset is inside a sentence or if the offset is not inside a sentence.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.SentenceEnd" /> the returned string is from the sentence end at or after the offset to the next sentence end.
-</para>
-          <para>
-The returned string will contain the sentence after the offset if the offset is inside a sentence and will contain the sentence after the sentence after the offset if the offset is not inside a sentence.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.LineStart" /> the returned string is from the line start after the offset to the next line start.
-</para>
-          <para>
-If the <paramref name="boundary_type" /> is <see cref="F:Atk.TextBoundary.LineEnd" /> the returned string is from the line end at or after the offset to the next line start.
-</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NSelections">
-      <MemberSignature Language="C#" Value="public int NSelections { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance int32 NSelections" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the number of selected regions.</summary>
-        <value> The number of selected regions, or -1 if a failure occurred.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveSelection">
-      <MemberSignature Language="C#" Value="public bool RemoveSelection (int selection_num);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemoveSelection(int32 selection_num) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="selection_num" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="selection_num"> The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering.</param>
-        <summary>Removes the specified selection.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetCaretOffset">
-      <MemberSignature Language="C#" Value="public bool SetCaretOffset (int offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCaretOffset(int32 offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="offset">position</param>
-        <summary>Sets the caret (cursor) position to the specified offset.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetSelection">
-      <MemberSignature Language="C#" Value="public bool SetSelection (int selection_num, int start_offset, int end_offset);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetSelection(int32 selection_num, int32 start_offset, int32 end_offset) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="selection_num" Type="System.Int32" />
-        <Parameter Name="start_offset" Type="System.Int32" />
-        <Parameter Name="end_offset" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="selection_num"> The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering.</param>
-        <param name="start_offset"> the new start position of the selection</param>
-        <param name="end_offset"> the new end position of the selection</param>
-        <summary>Changes the start and end offset of the specified selection.</summary>
-        <returns>
-          <see langword="true" /> if success, <see langword="false" /> otherwise</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="TextAttributesChanged">
-      <MemberSignature Language="C#" Value="public event EventHandler TextAttributesChanged;" />
-      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler TextAttributesChanged" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the text attributes of the text of an object which implements AtkText changes.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="TextCaretMoved">
-      <MemberSignature Language="C#" Value="public event Atk.TextCaretMovedHandler TextCaretMoved;" />
-      <MemberSignature Language="ILAsm" Value=".event class Atk.TextCaretMovedHandler TextCaretMoved" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.TextCaretMovedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the caret position of the text of an object which implements AtkText changes.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="TextChanged">
-      <MemberSignature Language="C#" Value="public event Atk.TextChangedHandler TextChanged;" />
-      <MemberSignature Language="ILAsm" Value=".event class Atk.TextChangedHandler TextChanged" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Atk.TextChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the text of the object which implements the AtkText interface changes.</summary>
-        <remarks>This signal will have a detail which is either "insert" or "delete" which identifies whether the text change was an insertion or a deletion.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TextSelectionChanged">
-      <MemberSignature Language="C#" Value="public event EventHandler TextSelectionChanged;" />
-      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler TextSelectionChanged" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the selected text of an object which implements AtkText changes.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Atk/TextAdapter.xml b/doc/en/Atk/TextAdapter.xml
index e691a30..60fe7a0 100644
--- a/doc/en/Atk/TextAdapter.xml
+++ b/doc/en/Atk/TextAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TextAdapter" FullName="Atk.TextAdapter">
-  <TypeSignature Language="C#" Value="public class TextAdapter : GLib.GInterfaceAdapter, Atk.Text, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TextAdapter extends GLib.GInterfaceAdapter implements class Atk.Text, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class TextAdapter : GLib.GInterfaceAdapter, Atk.IText, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TextAdapter extends GLib.GInterfaceAdapter implements class Atk.IText, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Text</InterfaceName>
+      <InterfaceName>Atk.IText</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TextAdapter (Atk.TextImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.TextImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TextAdapter (Atk.ITextImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ITextImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.TextImplementor" />
+        <Parameter Name="implementor" Type="Atk.ITextImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -290,11 +291,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Text GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Text GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IText GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IText GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Text</ReturnType>
+        <ReturnType>Atk.IText</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -308,11 +309,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Text GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Text GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IText GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IText GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Text</ReturnType>
+        <ReturnType>Atk.IText</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -324,6 +325,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetOffsetAtPoint">
@@ -500,9 +502,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -529,11 +545,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.TextImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.TextImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.ITextImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ITextImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.TextImplementor</ReturnType>
+        <ReturnType>Atk.ITextImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Atk/TextCaretMovedHandler.xml b/doc/en/Atk/TextCaretMovedHandler.xml
index dce80a6..9a72069 100644
--- a/doc/en/Atk/TextCaretMovedHandler.xml
+++ b/doc/en/Atk/TextCaretMovedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The following events utilize this delegate:</para>
diff --git a/doc/en/Atk/TextChangedHandler.xml b/doc/en/Atk/TextChangedHandler.xml
index 33ac66c..99c4008 100644
--- a/doc/en/Atk/TextChangedHandler.xml
+++ b/doc/en/Atk/TextChangedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The following events utilize this delegate:</para>
diff --git a/doc/en/Atk/ValueAdapter.xml b/doc/en/Atk/ValueAdapter.xml
index 057c5dc..a3b6041 100644
--- a/doc/en/Atk/ValueAdapter.xml
+++ b/doc/en/Atk/ValueAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ValueAdapter" FullName="Atk.ValueAdapter">
-  <TypeSignature Language="C#" Value="public class ValueAdapter : GLib.GInterfaceAdapter, Atk.Value, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ValueAdapter extends GLib.GInterfaceAdapter implements class Atk.Value, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ValueAdapter : GLib.GInterfaceAdapter, Atk.IValue, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ValueAdapter extends GLib.GInterfaceAdapter implements class Atk.IValue, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>atk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Value</InterfaceName>
+      <InterfaceName>Atk.IValue</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ValueAdapter (Atk.ValueImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.ValueImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ValueAdapter (Atk.IValueImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Atk.IValueImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Atk.ValueImplementor" />
+        <Parameter Name="implementor" Type="Atk.IValueImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -127,11 +128,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Value GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Value GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IValue GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IValue GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Value</ReturnType>
+        <ReturnType>Atk.IValue</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -145,11 +146,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Atk.Value GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.Value GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Atk.IValue GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Atk.IValue GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.Value</ReturnType>
+        <ReturnType>Atk.IValue</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -161,11 +162,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -192,11 +208,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Atk.ValueImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Atk.ValueImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Atk.IValueImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Atk.IValueImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Atk.ValueImplementor</ReturnType>
+        <ReturnType>Atk.IValueImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/AcceptCertificateArgs.xml b/doc/en/GLib/AcceptCertificateArgs.xml
index 8bc6ad6..6a33f6a 100644
--- a/doc/en/GLib/AcceptCertificateArgs.xml
+++ b/doc/en/GLib/AcceptCertificateArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.TlsConnection.AcceptCertificate" /> event invokes <see cref="T:GLib.AcceptCertificateHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.AcceptCertificateArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.AcceptCertificateHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/AcceptCertificateHandler.xml b/doc/en/GLib/AcceptCertificateHandler.xml
index 4291ca5..962840d 100644
--- a/doc/en/GLib/AcceptCertificateHandler.xml
+++ b/doc/en/GLib/AcceptCertificateHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.TlsConnection.AcceptCertificate" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.AcceptCertificateArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.AcceptCertificateHandler" /> to an event, add the AcceptCertificateHandler instance to the event.  The methods referenced by the AcceptCertificateHandler instance are invoked whenever the event is raised, until the AcceptCertificateHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ActionAdapter.xml b/doc/en/GLib/ActionAdapter.xml
index 2484b0b..ebed791 100644
--- a/doc/en/GLib/ActionAdapter.xml
+++ b/doc/en/GLib/ActionAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ActionAdapter" FullName="GLib.ActionAdapter">
-  <TypeSignature Language="C#" Value="public class ActionAdapter : GLib.GInterfaceAdapter, GLib.Action, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActionAdapter extends GLib.GInterfaceAdapter implements class GLib.Action, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ActionAdapter : GLib.GInterfaceAdapter, GLib.IAction, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActionAdapter extends GLib.GInterfaceAdapter implements class GLib.IAction, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Action</InterfaceName>
+      <InterfaceName>GLib.IAction</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ActionAdapter (GLib.ActionImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ActionImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ActionAdapter (GLib.IActionImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IActionImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.ActionImplementor" />
+        <Parameter Name="implementor" Type="GLib.IActionImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -92,11 +92,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Action GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Action GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAction GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAction GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Action</ReturnType>
+        <ReturnType>GLib.IAction</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -110,11 +110,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Action GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Action GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAction GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAction GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Action</ReturnType>
+        <ReturnType>GLib.IAction</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -129,9 +129,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -158,11 +172,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.ActionImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ActionImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IActionImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IActionImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ActionImplementor</ReturnType>
+        <ReturnType>GLib.IActionImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/ActionAddedArgs.xml b/doc/en/GLib/ActionAddedArgs.xml
index 3efc1be..6156caf 100644
--- a/doc/en/GLib/ActionAddedArgs.xml
+++ b/doc/en/GLib/ActionAddedArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:GLib.ActionAddedHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionAdded" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionAdded" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ActionAddedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ActionAddedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ActionAddedHandler.xml b/doc/en/GLib/ActionAddedHandler.xml
index 60e2f5d..81450d2 100644
--- a/doc/en/GLib/ActionAddedHandler.xml
+++ b/doc/en/GLib/ActionAddedHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionAdded" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionAdded" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:GLib.ActionAddedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ActionAddedHandler" /> to an event, add the ActionAddedHandler instance to the event.  The methods referenced by the ActionAddedHandler instance are invoked whenever the event is raised, until the ActionAddedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ActionEnabledChangedArgs.xml b/doc/en/GLib/ActionEnabledChangedArgs.xml
index 0d57e1a..9dbb06d 100644
--- a/doc/en/GLib/ActionEnabledChangedArgs.xml
+++ b/doc/en/GLib/ActionEnabledChangedArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:GLib.ActionEnabledChangedHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionEnabledChanged" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionEnabledChanged" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ActionEnabledChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ActionEnabledChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ActionEnabledChangedHandler.xml b/doc/en/GLib/ActionEnabledChangedHandler.xml
index 86f8f02..fd8a563 100644
--- a/doc/en/GLib/ActionEnabledChangedHandler.xml
+++ b/doc/en/GLib/ActionEnabledChangedHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionEnabledChanged" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionEnabledChanged" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:GLib.ActionEnabledChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ActionEnabledChangedHandler" /> to an event, add the ActionEnabledChangedHandler instance to the event.  The methods referenced by the ActionEnabledChangedHandler instance are invoked whenever the event is raised, until the ActionEnabledChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ActionGroupAdapter.xml b/doc/en/GLib/ActionGroupAdapter.xml
index 9908c60..5cee419 100644
--- a/doc/en/GLib/ActionGroupAdapter.xml
+++ b/doc/en/GLib/ActionGroupAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ActionGroupAdapter" FullName="GLib.ActionGroupAdapter">
-  <TypeSignature Language="C#" Value="public class ActionGroupAdapter : GLib.GInterfaceAdapter, GLib.ActionGroup, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActionGroupAdapter extends GLib.GInterfaceAdapter implements class GLib.ActionGroup, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ActionGroupAdapter : GLib.GInterfaceAdapter, GLib.IActionGroup, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActionGroupAdapter extends GLib.GInterfaceAdapter implements class GLib.IActionGroup, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.ActionGroup</InterfaceName>
+      <InterfaceName>GLib.IActionGroup</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ActionGroupAdapter (GLib.ActionGroupImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ActionGroupImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ActionGroupAdapter (GLib.IActionGroupImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IActionGroupImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.ActionGroupImplementor" />
+        <Parameter Name="implementor" Type="GLib.IActionGroupImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -333,11 +333,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.ActionGroup GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ActionGroup GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IActionGroup GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IActionGroup GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ActionGroup</ReturnType>
+        <ReturnType>GLib.IActionGroup</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -351,11 +351,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.ActionGroup GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ActionGroup GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IActionGroup GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IActionGroup GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ActionGroup</ReturnType>
+        <ReturnType>GLib.IActionGroup</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -370,9 +370,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -417,11 +431,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.ActionGroupImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ActionGroupImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IActionGroupImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IActionGroupImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ActionGroupImplementor</ReturnType>
+        <ReturnType>GLib.IActionGroupImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/ActionRemovedArgs.xml b/doc/en/GLib/ActionRemovedArgs.xml
index 1785744..f3228db 100644
--- a/doc/en/GLib/ActionRemovedArgs.xml
+++ b/doc/en/GLib/ActionRemovedArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:GLib.ActionRemovedHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionRemoved" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionRemoved" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ActionRemovedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ActionRemovedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ActionRemovedHandler.xml b/doc/en/GLib/ActionRemovedHandler.xml
index 525c3e0..659f693 100644
--- a/doc/en/GLib/ActionRemovedHandler.xml
+++ b/doc/en/GLib/ActionRemovedHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionRemoved" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionRemoved" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:GLib.ActionRemovedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ActionRemovedHandler" /> to an event, add the ActionRemovedHandler instance to the event.  The methods referenced by the ActionRemovedHandler instance are invoked whenever the event is raised, until the ActionRemovedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ActionStateChangedArgs.xml b/doc/en/GLib/ActionStateChangedArgs.xml
index 89fe148..3064b42 100644
--- a/doc/en/GLib/ActionStateChangedArgs.xml
+++ b/doc/en/GLib/ActionStateChangedArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:GLib.ActionStateChangedHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionStateChanged" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionStateChanged" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ActionStateChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ActionStateChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ActionStateChangedHandler.xml b/doc/en/GLib/ActionStateChangedHandler.xml
index 7db6082..8a0c54d 100644
--- a/doc/en/GLib/ActionStateChangedHandler.xml
+++ b/doc/en/GLib/ActionStateChangedHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.Application.ActionStateChanged" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.SimpleActionGroup.ActionStateChanged" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:GLib.ActionStateChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ActionStateChangedHandler" /> to an event, add the ActionStateChangedHandler instance to the event.  The methods referenced by the ActionStateChangedHandler instance are invoked whenever the event is raised, until the ActionStateChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ActivatedArgs.xml b/doc/en/GLib/ActivatedArgs.xml
index 1337583..63d720b 100644
--- a/doc/en/GLib/ActivatedArgs.xml
+++ b/doc/en/GLib/ActivatedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.SimpleAction.Activated" /> event invokes <see cref="T:GLib.ActivatedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ActivatedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ActivatedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ActivatedHandler.xml b/doc/en/GLib/ActivatedHandler.xml
index ec953c2..4ed6bc4 100644
--- a/doc/en/GLib/ActivatedHandler.xml
+++ b/doc/en/GLib/ActivatedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.SimpleAction.Activated" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.ActivatedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ActivatedHandler" /> to an event, add the ActivatedHandler instance to the event.  The methods referenced by the ActivatedHandler instance are invoked whenever the event is raised, until the ActivatedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/AppInfoAdapter.xml b/doc/en/GLib/AppInfoAdapter.xml
index 80618fa..a4cb9a1 100644
--- a/doc/en/GLib/AppInfoAdapter.xml
+++ b/doc/en/GLib/AppInfoAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="AppInfoAdapter" FullName="GLib.AppInfoAdapter">
-  <TypeSignature Language="C#" Value="public class AppInfoAdapter : GLib.GInterfaceAdapter, GLib.AppInfo, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppInfoAdapter extends GLib.GInterfaceAdapter implements class GLib.AppInfo, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class AppInfoAdapter : GLib.GInterfaceAdapter, GLib.IAppInfo, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppInfoAdapter extends GLib.GInterfaceAdapter implements class GLib.IAppInfo, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AppInfo</InterfaceName>
+      <InterfaceName>GLib.IAppInfo</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -103,11 +103,11 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
       </Docs>
     </Member>
     <Member MemberName="CreateFromCommandline">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo CreateFromCommandline (string commandline, string application_name, GLib.AppInfoCreateFlags flags);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo CreateFromCommandline(string commandline, string application_name, valuetype GLib.AppInfoCreateFlags flags) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo CreateFromCommandline (string commandline, string application_name, GLib.AppInfoCreateFlags flags);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo CreateFromCommandline(string commandline, string application_name, valuetype GLib.AppInfoCreateFlags flags) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="commandline" Type="System.String" />
@@ -121,7 +121,7 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Delete">
@@ -168,36 +168,36 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
       </Docs>
     </Member>
     <Member MemberName="Dup">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo Dup ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.AppInfo Dup() cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo Dup ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IAppInfo Dup() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.AppInfo appinfo2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.AppInfo appinfo2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IAppInfo appinfo2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IAppInfo appinfo2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="appinfo2" Type="GLib.AppInfo" />
+        <Parameter Name="appinfo2" Type="GLib.IAppInfo" />
       </Parameters>
       <Docs>
         <param name="appinfo2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Executable">
@@ -215,84 +215,82 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
       </Docs>
     </Member>
     <Member MemberName="GetAll">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo[] GetAll ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo[] GetAll() cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo[] GetAll ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo[] GetAll() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo[]</ReturnType>
+        <ReturnType>GLib.IAppInfo[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetAllForType">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo[] GetAllForType (string content_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo[] GetAllForType(string content_type) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo[] GetAllForType (string content_type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo[] GetAllForType(string content_type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo[]</ReturnType>
+        <ReturnType>GLib.IAppInfo[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="content_type" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="content_type">The content type to find a <see cref="T:GLib.AppInfo" /> for.</param>
-        <summary>Gets an array of all <see cref="T:GLib.AppInfo" /> for a given content type.
-
-</summary>
-        <returns>An array of <see cref="T:GLib.AppInfo" /> for given content_type, or null on error.</returns>
+        <param name="content_type">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetDefaultForType">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo GetDefaultForType (string content_type, bool must_support_uris);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo GetDefaultForType(string content_type, bool must_support_uris) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo GetDefaultForType (string content_type, bool must_support_uris);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo GetDefaultForType(string content_type, bool must_support_uris) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="content_type" Type="System.String" />
         <Parameter Name="must_support_uris" Type="System.Boolean" />
       </Parameters>
       <Docs>
-        <param name="content_type">The content type to find a <see cref="T:GLib.AppInfo" /> for.</param>
-        <param name="must_support_uris">If True, the <see cref="GLib.AppInfo" /> is expected to support URIs.</param>
-        <summary>Gets the <see cref="T:GLib.AppInfo" /> that correspond to a given content type.</summary>
-        <returns>A <see cref="T:GLib.AppInfo" /> for given content_type or null on error.</returns>
+        <param name="content_type">To be added.</param>
+        <param name="must_support_uris">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetDefaultForUriScheme">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo GetDefaultForUriScheme (string uri_scheme);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo GetDefaultForUriScheme(string uri_scheme) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo GetDefaultForUriScheme (string uri_scheme);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo GetDefaultForUriScheme(string uri_scheme) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uri_scheme" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri_scheme">A string containing a URI scheme.</param>
-        <summary>Gets the default application for launching applications using this URI scheme.</summary>
-        <returns>A <see cref="T:GLib.AppInfo" /> for given uri_scheme or null on error. </returns>
-        <remarks>A URI scheme is the initial part of the URI, up to but not including the ':', e.g. "http", "ftp" or "sip".</remarks>
-        <since version="Gtk# 2.14" />
+        <param name="uri_scheme">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetFallbackForType">
-      <MemberSignature Language="C#" Value="public static GLib.List GetFallbackForType (string content_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List GetFallbackForType(string content_type) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo[] GetFallbackForType (string content_type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo[] GetFallbackForType(string content_type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IAppInfo[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="content_type" Type="System.String" />
@@ -306,11 +304,11 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -320,15 +318,15 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.AppInfo GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AppInfo GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -340,15 +338,15 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRecommendedForType">
-      <MemberSignature Language="C#" Value="public static GLib.List GetRecommendedForType (string content_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List GetRecommendedForType(string content_type) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAppInfo[] GetRecommendedForType (string content_type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAppInfo[] GetRecommendedForType(string content_type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IAppInfo[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="content_type" Type="System.String" />
@@ -361,9 +359,23 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -390,11 +402,11 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>The <see cref="T:GLib.Icon" /> for the application.</summary>
diff --git a/doc/en/GLib/AppLaunchContext.xml b/doc/en/GLib/AppLaunchContext.xml
index 54bd36d..a9adc67 100644
--- a/doc/en/GLib/AppLaunchContext.xml
+++ b/doc/en/GLib/AppLaunchContext.xml
@@ -33,50 +33,50 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="GetDisplay">
-      <MemberSignature Language="C#" Value="public string GetDisplay (GLib.AppInfo info, GLib.List files);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetDisplay(class GLib.AppInfo info, class GLib.List files) cil managed" />
+      <MemberSignature Language="C#" Value="public string GetDisplay (GLib.IAppInfo info, GLib.List files);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetDisplay(class GLib.IAppInfo info, class GLib.List files) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="info" Type="GLib.AppInfo" />
+        <Parameter Name="info" Type="GLib.IAppInfo" />
         <Parameter Name="files" Type="GLib.List" />
       </Parameters>
       <Docs>
-        <param name="info">A <see cref="T:GLib.AppInfo" />.</param>
-        <param name="files">A <see cref="T:GLib.List" /> of <see cref="T:GLib.File" />.</param>
-        <summary>Gets the display string for the display.</summary>
-        <returns>A display string for the display.</returns>
-        <remarks>This is used to ensure new applications are started on the same display as the launching application.</remarks>
-        <since version="Gtk# 2.14" />
+        <param name="info">To be added.</param>
+        <param name="files">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetStartupNotifyId">
-      <MemberSignature Language="C#" Value="public string GetStartupNotifyId (GLib.AppInfo info, GLib.List files);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetStartupNotifyId(class GLib.AppInfo info, class GLib.List files) cil managed" />
+      <MemberSignature Language="C#" Value="public string GetStartupNotifyId (GLib.IAppInfo info, GLib.List files);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetStartupNotifyId(class GLib.IAppInfo info, class GLib.List files) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="info" Type="GLib.AppInfo" />
+        <Parameter Name="info" Type="GLib.IAppInfo" />
         <Parameter Name="files" Type="GLib.List" />
       </Parameters>
       <Docs>
-        <param name="info">A <see cref="T:GLib.AppInfo" />.</param>
-        <param name="files">A <see cref="T:GLib.List" /> of <see cref="T:GLib.File" />.</param>
-        <summary>Initiates startup notification for the application.</summary>
-        <returns>The DESKTOP_STARTUP_ID for the launched operation, if supported. </returns>
-        <remarks>Startup notification IDs are defined in the FreeDesktop.Org Startup Notifications standard (http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).</remarks>
-        <since version="Gtk# 2.14" />
+        <param name="info">To be added.</param>
+        <param name="files">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -87,9 +87,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.AppLaunchContext" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -111,8 +111,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnGetDisplay">
-      <MemberSignature Language="C#" Value="protected virtual string OnGetDisplay (GLib.AppInfo info, GLib.List files);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string OnGetDisplay(class GLib.AppInfo info, class GLib.List files) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual string OnGetDisplay (GLib.IAppInfo info, GLib.List files);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string OnGetDisplay(class GLib.IAppInfo info, class GLib.List files) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -123,7 +123,7 @@
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="info" Type="GLib.AppInfo" />
+        <Parameter Name="info" Type="GLib.IAppInfo" />
         <Parameter Name="files" Type="GLib.List" />
       </Parameters>
       <Docs>
@@ -132,12 +132,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetStartupNotifyId">
-      <MemberSignature Language="C#" Value="protected virtual string OnGetStartupNotifyId (GLib.AppInfo info, GLib.List files);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string OnGetStartupNotifyId(class GLib.AppInfo info, class GLib.List files) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual string OnGetStartupNotifyId (GLib.IAppInfo info, GLib.List files);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string OnGetStartupNotifyId(class GLib.IAppInfo info, class GLib.List files) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -148,7 +148,7 @@
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="info" Type="GLib.AppInfo" />
+        <Parameter Name="info" Type="GLib.IAppInfo" />
         <Parameter Name="files" Type="GLib.List" />
       </Parameters>
       <Docs>
@@ -157,7 +157,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnLaunchFailed">
diff --git a/doc/en/GLib/Application.xml b/doc/en/GLib/Application.xml
index ce32188..d6509f3 100644
--- a/doc/en/GLib/Application.xml
+++ b/doc/en/GLib/Application.xml
@@ -1,6 +1,6 @@
 <Type Name="Application" FullName="GLib.Application">
-  <TypeSignature Language="C#" Value="public class Application : GLib.Object, GLib.ActionGroup" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Application extends GLib.Object implements class GLib.ActionGroup, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class Application : GLib.Object, GLib.IActionGroup" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Application extends GLib.Object implements class GLib.IActionGroup, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.ActionGroup</InterfaceName>
+      <InterfaceName>GLib.IActionGroup</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -85,8 +85,8 @@
       </Docs>
     </Member>
     <Member MemberName="ActionGroup">
-      <MemberSignature Language="C#" Value="public GLib.ActionGroup ActionGroup { set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ActionGroup ActionGroup" />
+      <MemberSignature Language="C#" Value="public GLib.IActionGroup ActionGroup { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IActionGroup ActionGroup" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -94,7 +94,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.ActionGroup</ReturnType>
+        <ReturnType>GLib.IActionGroup</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -435,9 +435,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Application" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -580,8 +580,8 @@
       </Parameters>
       <Docs>
         <param name="action_name">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.ActionAdded" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.ActionAdded" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -604,8 +604,8 @@
       <Docs>
         <param name="action_name">To be added.</param>
         <param name="enabled">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.ActionEnabledChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.ActionEnabledChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -626,8 +626,8 @@
       </Parameters>
       <Docs>
         <param name="action_name">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.ActionRemoved" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.ActionRemoved" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -650,8 +650,8 @@
       <Docs>
         <param name="action_name">To be added.</param>
         <param name="value">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.ActionStateChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.ActionStateChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -669,8 +669,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.Activated" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.Activated" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -735,9 +735,9 @@
       </Parameters>
       <Docs>
         <param name="command_line">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.Application.CommandLine" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.CommandLine" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -767,8 +767,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnOpened">
-      <MemberSignature Language="C#" Value="protected virtual void OnOpened (GLib.File files, int n_files, string hint);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnOpened(class GLib.File files, int32 n_files, string hint) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnOpened (GLib.IFile files, int n_files, string hint);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnOpened(class GLib.IFile files, int32 n_files, string hint) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -779,7 +779,7 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="files" Type="GLib.File" />
+        <Parameter Name="files" Type="GLib.IFile" />
         <Parameter Name="n_files" Type="System.Int32" />
         <Parameter Name="hint" Type="System.String" />
       </Parameters>
@@ -787,8 +787,8 @@
         <param name="files">To be added.</param>
         <param name="n_files">To be added.</param>
         <param name="hint">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.Opened" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.Opened" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -844,20 +844,20 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Application.Startup" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Application.Startup" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Open">
-      <MemberSignature Language="C#" Value="public void Open (GLib.File files, int n_files, string hint);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Open(class GLib.File files, int32 n_files, string hint) cil managed" />
+      <MemberSignature Language="C#" Value="public void Open (GLib.IFile files, int n_files, string hint);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Open(class GLib.IFile files, int32 n_files, string hint) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="files" Type="GLib.File" />
+        <Parameter Name="files" Type="GLib.IFile" />
         <Parameter Name="n_files" Type="System.Int32" />
         <Parameter Name="hint" Type="System.String" />
       </Parameters>
diff --git a/doc/en/GLib/ApplicationCommandLine.xml b/doc/en/GLib/ApplicationCommandLine.xml
index 113cca7..680b241 100644
--- a/doc/en/GLib/ApplicationCommandLine.xml
+++ b/doc/en/GLib/ApplicationCommandLine.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -125,9 +125,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ApplicationCommandLine" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ApplicationFlags.xml b/doc/en/GLib/ApplicationFlags.xml
index 3e52695..9bb0828 100644
--- a/doc/en/GLib/ApplicationFlags.xml
+++ b/doc/en/GLib/ApplicationFlags.xml
@@ -21,18 +21,6 @@
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
-    <Member MemberName="FlagsNone">
-      <MemberSignature Language="C#" Value="FlagsNone" />
-      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.ApplicationFlags FlagsNone = int32(0)" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.ApplicationFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
     <Member MemberName="HandlesCommandLine">
       <MemberSignature Language="C#" Value="HandlesCommandLine" />
       <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.ApplicationFlags HandlesCommandLine = int32(8)" />
@@ -81,6 +69,18 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="None">
+      <MemberSignature Language="C#" Value="None" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.ApplicationFlags None = int32(0)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.ApplicationFlags</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="SendEnvironment">
       <MemberSignature Language="C#" Value="SendEnvironment" />
       <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.ApplicationFlags SendEnvironment = int32(16)" />
diff --git a/doc/en/GLib/ApplicationImpl.xml b/doc/en/GLib/ApplicationImpl.xml
index 24cf1e5..cc84c4b 100644
--- a/doc/en/GLib/ApplicationImpl.xml
+++ b/doc/en/GLib/ApplicationImpl.xml
@@ -153,14 +153,14 @@
       </Docs>
     </Member>
     <Member MemberName="Open">
-      <MemberSignature Language="C#" Value="public void Open (GLib.File files, int n_files, string hint, GLib.Variant platform_data);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Open(class GLib.File files, int32 n_files, string hint, class GLib.Variant platform_data) cil managed" />
+      <MemberSignature Language="C#" Value="public void Open (GLib.IFile files, int n_files, string hint, GLib.Variant platform_data);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Open(class GLib.IFile files, int32 n_files, string hint, class GLib.Variant platform_data) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="files" Type="GLib.File" />
+        <Parameter Name="files" Type="GLib.IFile" />
         <Parameter Name="n_files" Type="System.Int32" />
         <Parameter Name="hint" Type="System.String" />
         <Parameter Name="platform_data" Type="GLib.Variant" />
diff --git a/doc/en/GLib/AskPasswordHandler.xml b/doc/en/GLib/AskPasswordHandler.xml
index 6dd7425..b8adef3 100644
--- a/doc/en/GLib/AskPasswordHandler.xml
+++ b/doc/en/GLib/AskPasswordHandler.xml
@@ -15,8 +15,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>The <see cref="E:GLib.MountOperation.AskPassword" /> event uses this delegate.</remarks>
     <since version="Gtk# 2.14" />
diff --git a/doc/en/GLib/AskQuestionArgs.xml b/doc/en/GLib/AskQuestionArgs.xml
index 06806cd..180778f 100644
--- a/doc/en/GLib/AskQuestionArgs.xml
+++ b/doc/en/GLib/AskQuestionArgs.xml
@@ -20,8 +20,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.AskQuestionArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.AskQuestionHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/AskQuestionHandler.xml b/doc/en/GLib/AskQuestionHandler.xml
index 82f33a0..f993347 100644
--- a/doc/en/GLib/AskQuestionHandler.xml
+++ b/doc/en/GLib/AskQuestionHandler.xml
@@ -15,8 +15,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>See <see cref="M:GLib.MountOperation.AskQuestion" />.</remarks>
     <since version="Gtk# 2.14" />
diff --git a/doc/en/GLib/AsyncInitableAdapter.xml b/doc/en/GLib/AsyncInitableAdapter.xml
index 67b703f..664a86b 100644
--- a/doc/en/GLib/AsyncInitableAdapter.xml
+++ b/doc/en/GLib/AsyncInitableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="AsyncInitableAdapter" FullName="GLib.AsyncInitableAdapter">
-  <TypeSignature Language="C#" Value="public class AsyncInitableAdapter : GLib.GInterfaceAdapter, GLib.AsyncInitable, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi AsyncInitableAdapter extends GLib.GInterfaceAdapter implements class GLib.AsyncInitable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class AsyncInitableAdapter : GLib.GInterfaceAdapter, GLib.IAsyncInitable, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi AsyncInitableAdapter extends GLib.GInterfaceAdapter implements class GLib.IAsyncInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AsyncInitable</InterfaceName>
+      <InterfaceName>GLib.IAsyncInitable</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public AsyncInitableAdapter (GLib.AsyncInitableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.AsyncInitableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public AsyncInitableAdapter (GLib.IAsyncInitableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IAsyncInitableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.AsyncInitableImplementor" />
+        <Parameter Name="implementor" Type="GLib.IAsyncInitableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.AsyncInitable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AsyncInitable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAsyncInitable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAsyncInitable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AsyncInitable</ReturnType>
+        <ReturnType>GLib.IAsyncInitable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -79,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.AsyncInitable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AsyncInitable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAsyncInitable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAsyncInitable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AsyncInitable</ReturnType>
+        <ReturnType>GLib.IAsyncInitable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -98,9 +98,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -127,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.AsyncInitableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AsyncInitableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IAsyncInitableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAsyncInitableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AsyncInitableImplementor</ReturnType>
+        <ReturnType>GLib.IAsyncInitableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -162,14 +176,14 @@
       </Docs>
     </Member>
     <Member MemberName="InitFinish">
-      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
diff --git a/doc/en/GLib/AsyncReadyCallback.xml b/doc/en/GLib/AsyncReadyCallback.xml
index 6c82556..f3c2540 100644
--- a/doc/en/GLib/AsyncReadyCallback.xml
+++ b/doc/en/GLib/AsyncReadyCallback.xml
@@ -1,5 +1,5 @@
 <Type Name="AsyncReadyCallback" FullName="GLib.AsyncReadyCallback">
-  <TypeSignature Language="C#" Value="public delegate void AsyncReadyCallback(Object source_object, AsyncResult res);" />
+  <TypeSignature Language="C#" Value="public delegate void AsyncReadyCallback(Object source_object, IAsyncResult res);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed AsyncReadyCallback extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
@@ -9,7 +9,7 @@
   </Base>
   <Parameters>
     <Parameter Name="source_object" Type="GLib.Object" />
-    <Parameter Name="res" Type="GLib.AsyncResult" />
+    <Parameter Name="res" Type="GLib.IAsyncResult" />
   </Parameters>
   <ReturnValue>
     <ReturnType>System.Void</ReturnType>
diff --git a/doc/en/GLib/AsyncResultAdapter.xml b/doc/en/GLib/AsyncResultAdapter.xml
index 106f074..c38bbfc 100644
--- a/doc/en/GLib/AsyncResultAdapter.xml
+++ b/doc/en/GLib/AsyncResultAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="AsyncResultAdapter" FullName="GLib.AsyncResultAdapter">
-  <TypeSignature Language="C#" Value="public class AsyncResultAdapter : GLib.GInterfaceAdapter, GLib.AsyncResult, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi AsyncResultAdapter extends GLib.GInterfaceAdapter implements class GLib.AsyncResult, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class AsyncResultAdapter : GLib.GInterfaceAdapter, GLib.IAsyncResult, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi AsyncResultAdapter extends GLib.GInterfaceAdapter implements class GLib.IAsyncResult, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AsyncResult</InterfaceName>
+      <InterfaceName>GLib.IAsyncResult</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,17 +33,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public AsyncResultAdapter (GLib.AsyncResultImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.AsyncResultImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public AsyncResultAdapter (GLib.IAsyncResultImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IAsyncResultImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.AsyncResultImplementor" />
+        <Parameter Name="implementor" Type="GLib.IAsyncResultImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.AsyncResult GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AsyncResult GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAsyncResult GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAsyncResult GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AsyncResult</ReturnType>
+        <ReturnType>GLib.IAsyncResult</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -75,15 +75,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.AsyncResult GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.AsyncResult GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IAsyncResult GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IAsyncResult GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AsyncResult</ReturnType>
+        <ReturnType>GLib.IAsyncResult</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -95,12 +95,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -127,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.AsyncResultImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AsyncResultImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IAsyncResultImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAsyncResultImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AsyncResultImplementor</ReturnType>
+        <ReturnType>GLib.IAsyncResultImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/AuthenticatedPeerAuthorizedArgs.xml b/doc/en/GLib/AuthenticatedPeerAuthorizedArgs.xml
index eca181e..c2906de 100644
--- a/doc/en/GLib/AuthenticatedPeerAuthorizedArgs.xml
+++ b/doc/en/GLib/AuthenticatedPeerAuthorizedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusAuthObserver.AuthenticatedPeerAuthorized" /> event invokes <see cref="T:GLib.AuthenticatedPeerAuthorizedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.AuthenticatedPeerAuthorizedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.AuthenticatedPeerAuthorizedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/AuthenticatedPeerAuthorizedHandler.xml b/doc/en/GLib/AuthenticatedPeerAuthorizedHandler.xml
index b1bb090..9d71c31 100644
--- a/doc/en/GLib/AuthenticatedPeerAuthorizedHandler.xml
+++ b/doc/en/GLib/AuthenticatedPeerAuthorizedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusAuthObserver.AuthenticatedPeerAuthorized" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.AuthenticatedPeerAuthorizedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.AuthenticatedPeerAuthorizedHandler" /> to an event, add the AuthenticatedPeerAuthorizedHandler instance to the event.  The methods referenced by the AuthenticatedPeerAuthorizedHandler instance are invoked whenever the event is raised, until the AuthenticatedPeerAuthorizedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/BufferedInputStream.xml b/doc/en/GLib/BufferedInputStream.xml
index 01d4764..f8c6186 100644
--- a/doc/en/GLib/BufferedInputStream.xml
+++ b/doc/en/GLib/BufferedInputStream.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -135,21 +135,21 @@
       </Docs>
     </Member>
     <Member MemberName="FillFinish">
-      <MemberSignature Language="C#" Value="public long FillFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 FillFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public long FillFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 FillFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -160,9 +160,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.BufferedInputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -220,8 +220,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnFillFinish">
-      <MemberSignature Language="C#" Value="protected virtual long OnFillFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnFillFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual long OnFillFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnFillFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -232,14 +232,14 @@
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Peek">
diff --git a/doc/en/GLib/BufferedOutputStream.xml b/doc/en/GLib/BufferedOutputStream.xml
index d179c99..4364293 100644
--- a/doc/en/GLib/BufferedOutputStream.xml
+++ b/doc/en/GLib/BufferedOutputStream.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -104,9 +104,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.BufferedOutputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Bus.xml b/doc/en/GLib/Bus.xml
index 743d58c..15b0212 100644
--- a/doc/en/GLib/Bus.xml
+++ b/doc/en/GLib/Bus.xml
@@ -47,14 +47,14 @@
       </Docs>
     </Member>
     <Member MemberName="GetFinish">
-      <MemberSignature Language="C#" Value="public static GLib.DBusConnection GetFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DBusConnection GetFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.DBusConnection GetFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DBusConnection GetFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.DBusConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
diff --git a/doc/en/GLib/Cancellable.xml b/doc/en/GLib/Cancellable.xml
index 9509dd9..c420dd8 100644
--- a/doc/en/GLib/Cancellable.xml
+++ b/doc/en/GLib/Cancellable.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -124,9 +124,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Cancellable" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -144,6 +144,24 @@
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
+    <Member MemberName="MakePollfd">
+      <MemberSignature Language="C#" Value="public bool MakePollfd (out GLib.PollFD pollfd);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool MakePollfd(valuetype GLib.PollFD pollfd) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="pollfd" Type="GLib.PollFD&" RefType="out" />
+      </Parameters>
+      <Docs>
+        <param name="pollfd">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="OnCancelled">
       <MemberSignature Language="C#" Value="protected virtual void OnCancelled ();" />
       <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnCancelled() cil managed" />
@@ -158,8 +176,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Cancellable.Cancelled" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Cancellable.Cancelled" /> event.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -234,5 +252,20 @@
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
+    <Member MemberName="SourceNew">
+      <MemberSignature Language="C#" Value="public GLib.Source SourceNew ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Source SourceNew() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
   </Members>
 </Type>
diff --git a/doc/en/GLib/ChangeEventArgs.xml b/doc/en/GLib/ChangeEventArgs.xml
index 2921909..f4282e5 100644
--- a/doc/en/GLib/ChangeEventArgs.xml
+++ b/doc/en/GLib/ChangeEventArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Settings.ChangeEvent" /> event invokes <see cref="T:GLib.ChangeEventHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ChangeEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ChangeEventHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ChangeEventHandler.xml b/doc/en/GLib/ChangeEventHandler.xml
index 5651971..922a1b6 100644
--- a/doc/en/GLib/ChangeEventHandler.xml
+++ b/doc/en/GLib/ChangeEventHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Settings.ChangeEvent" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.ChangeEventArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ChangeEventHandler" /> to an event, add the ChangeEventHandler instance to the event.  The methods referenced by the ChangeEventHandler instance are invoked whenever the event is raised, until the ChangeEventHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ChangedArgs.xml b/doc/en/GLib/ChangedArgs.xml
index 89ab779..e2b0be3 100644
--- a/doc/en/GLib/ChangedArgs.xml
+++ b/doc/en/GLib/ChangedArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:GLib.ChangedHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.FileMonitor.Changed" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.Settings.Changed" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ChangedHandler.xml b/doc/en/GLib/ChangedHandler.xml
index 8fb5364..2f268bb 100644
--- a/doc/en/GLib/ChangedHandler.xml
+++ b/doc/en/GLib/ChangedHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:GLib.FileMonitor.Changed" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:GLib.Settings.Changed" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:GLib.ChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ChangedHandler" /> to an event, add the ChangedHandler instance to the event.  The methods referenced by the ChangedHandler instance are invoked whenever the event is raised, until the ChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/CharsetConverter.xml b/doc/en/GLib/CharsetConverter.xml
index b929545..95f87c4 100644
--- a/doc/en/GLib/CharsetConverter.xml
+++ b/doc/en/GLib/CharsetConverter.xml
@@ -1,6 +1,6 @@
 <Type Name="CharsetConverter" FullName="GLib.CharsetConverter">
-  <TypeSignature Language="C#" Value="public class CharsetConverter : GLib.Object, GLib.Converter, GLib.Initable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CharsetConverter extends GLib.Object implements class GLib.Converter, class GLib.Initable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class CharsetConverter : GLib.Object, GLib.IConverter, GLib.IInitable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CharsetConverter extends GLib.Object implements class GLib.IConverter, class GLib.IInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Converter</InterfaceName>
+      <InterfaceName>GLib.IConverter</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Initable</InterfaceName>
+      <InterfaceName>GLib.IInitable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -29,9 +29,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -108,9 +108,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.CharsetConverter" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ClosedArgs.xml b/doc/en/GLib/ClosedArgs.xml
index f65e7c6..6a1a148 100644
--- a/doc/en/GLib/ClosedArgs.xml
+++ b/doc/en/GLib/ClosedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusConnection.Closed" /> event invokes <see cref="T:GLib.ClosedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ClosedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ClosedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ClosedHandler.xml b/doc/en/GLib/ClosedHandler.xml
index f0f80d1..9e62cca 100644
--- a/doc/en/GLib/ClosedHandler.xml
+++ b/doc/en/GLib/ClosedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusConnection.Closed" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.ClosedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ClosedHandler" /> to an event, add the ClosedHandler instance to the event.  The methods referenced by the ClosedHandler instance are invoked whenever the event is raised, until the ClosedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/CommandLineArgs.xml b/doc/en/GLib/CommandLineArgs.xml
index 71c8a06..138a53c 100644
--- a/doc/en/GLib/CommandLineArgs.xml
+++ b/doc/en/GLib/CommandLineArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Application.CommandLine" /> event invokes <see cref="T:GLib.CommandLineHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.CommandLineArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.CommandLineHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/CommandLineHandler.xml b/doc/en/GLib/CommandLineHandler.xml
index 7e94a71..ac4842a 100644
--- a/doc/en/GLib/CommandLineHandler.xml
+++ b/doc/en/GLib/CommandLineHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Application.CommandLine" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.CommandLineArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.CommandLineHandler" /> to an event, add the CommandLineHandler instance to the event.  The methods referenced by the CommandLineHandler instance are invoked whenever the event is raised, until the CommandLineHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/Credentials.xml b/doc/en/GLib/Cond.xml
similarity index 51%
copy from doc/en/GLib/Credentials.xml
copy to doc/en/GLib/Cond.xml
index 6bdbd76..16b8b2d 100644
--- a/doc/en/GLib/Credentials.xml
+++ b/doc/en/GLib/Cond.xml
@@ -1,11 +1,11 @@
-<Type Name="Credentials" FullName="GLib.Credentials">
-  <TypeSignature Language="C#" Value="public class Credentials : GLib.Object" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Credentials extends GLib.Object" />
+<Type Name="Cond" FullName="GLib.Cond">
+  <TypeSignature Language="C#" Value="public class Cond : GLib.Opaque" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Cond extends GLib.Opaque" />
   <AssemblyInfo>
-    <AssemblyName>gio-sharp</AssemblyName>
+    <AssemblyName>glib-sharp</AssemblyName>
   </AssemblyInfo>
   <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
   </Base>
   <Interfaces />
   <Docs>
@@ -15,108 +15,106 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Credentials ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+      <MemberSignature Language="C#" Value="public Cond (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
       <MemberType>Constructor</MemberType>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
       <Docs>
+        <param name="raw">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Credentials (IntPtr raw);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
+    <Member MemberName="Broadcast">
+      <MemberSignature Language="C#" Value="public void Broadcast ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Broadcast() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
       <Docs>
-        <param name="raw">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GetNative">
-      <MemberSignature Language="C#" Value="public IntPtr GetNative (GLib.CredentialsType native_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance native int GetNative(valuetype GLib.CredentialsType native_type) cil managed" />
+    <Member MemberName="Clear">
+      <MemberSignature Language="C#" Value="public void Clear ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clear() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
-      <Parameters>
-        <Parameter Name="native_type" Type="GLib.CredentialsType" />
-      </Parameters>
+      <Parameters />
       <Docs>
-        <param name="native_type">To be added.</param>
         <summary>To be added.</summary>
-        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
-      <MemberType>Property</MemberType>
+    <Member MemberName="Init">
+      <MemberSignature Language="C#" Value="public void Init ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Init() cil managed" />
+      <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
+      <Parameters />
       <Docs>
         <summary>To be added.</summary>
-        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="IsSameUser">
-      <MemberSignature Language="C#" Value="public bool IsSameUser (GLib.Credentials other_credentials);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsSameUser(class GLib.Credentials other_credentials) cil managed" />
+    <Member MemberName="Signal">
+      <MemberSignature Language="C#" Value="public void Signal ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Signal() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
-      <Parameters>
-        <Parameter Name="other_credentials" Type="GLib.Credentials" />
-      </Parameters>
+      <Parameters />
       <Docs>
-        <param name="other_credentials">To be added.</param>
         <summary>To be added.</summary>
-        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="SetNative">
-      <MemberSignature Language="C#" Value="public void SetNative (GLib.CredentialsType native_type, IntPtr native);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetNative(valuetype GLib.CredentialsType native_type, native int native) cil managed" />
+    <Member MemberName="Wait">
+      <MemberSignature Language="C#" Value="public void Wait (GLib.Mutex mutex);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Wait(class GLib.Mutex mutex) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="native_type" Type="GLib.CredentialsType" />
-        <Parameter Name="native" Type="System.IntPtr" />
+        <Parameter Name="mutex" Type="GLib.Mutex" />
       </Parameters>
       <Docs>
-        <param name="native_type">To be added.</param>
-        <param name="native">To be added.</param>
+        <param name="mutex">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="ToString">
-      <MemberSignature Language="C#" Value="public override string ToString ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
+    <Member MemberName="WaitUntil">
+      <MemberSignature Language="C#" Value="public bool WaitUntil (GLib.Mutex mutex, long end_time);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool WaitUntil(class GLib.Mutex mutex, int64 end_time) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="mutex" Type="GLib.Mutex" />
+        <Parameter Name="end_time" Type="System.Int64" />
+      </Parameters>
       <Docs>
+        <param name="mutex">To be added.</param>
+        <param name="end_time">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
diff --git a/doc/en/GLib/Content.xml b/doc/en/GLib/ContentType.xml
similarity index 68%
rename from doc/en/GLib/Content.xml
rename to doc/en/GLib/ContentType.xml
index 265b8fc..91ed4e6 100644
--- a/doc/en/GLib/Content.xml
+++ b/doc/en/GLib/ContentType.xml
@@ -1,6 +1,6 @@
-<Type Name="Content" FullName="GLib.Content">
-  <TypeSignature Language="C#" Value="public class Content" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Content extends System.Object" />
+<Type Name="ContentType" FullName="GLib.ContentType">
+  <TypeSignature Language="C#" Value="public class ContentType" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ContentType extends System.Object" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -11,23 +11,23 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Content ();" />
+      <MemberSignature Language="C#" Value="public ContentType ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeCanBeExecutable">
-      <MemberSignature Language="C#" Value="public static bool TypeCanBeExecutable (string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TypeCanBeExecutable(string type) cil managed" />
+    <Member MemberName="CanBeExecutable">
+      <MemberSignature Language="C#" Value="public static bool CanBeExecutable (string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool CanBeExecutable(string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -40,12 +40,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeEquals">
-      <MemberSignature Language="C#" Value="public static bool TypeEquals (string type1, string type2);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TypeEquals(string type1, string type2) cil managed" />
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public static bool Equals (string type1, string type2);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool Equals(string type1, string type2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -60,12 +60,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeFromMimeType">
-      <MemberSignature Language="C#" Value="public static string TypeFromMimeType (string mime_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string TypeFromMimeType(string mime_type) cil managed" />
+    <Member MemberName="FromMimeType">
+      <MemberSignature Language="C#" Value="public static string FromMimeType (string mime_type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string FromMimeType(string mime_type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
@@ -78,12 +78,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeGetDescription">
-      <MemberSignature Language="C#" Value="public static string TypeGetDescription (string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string TypeGetDescription(string type) cil managed" />
+    <Member MemberName="GetDescription">
+      <MemberSignature Language="C#" Value="public static string GetDescription (string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetDescription(string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
@@ -96,15 +96,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeGetIcon">
-      <MemberSignature Language="C#" Value="public static GLib.Icon TypeGetIcon (string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Icon TypeGetIcon(string type) cil managed" />
+    <Member MemberName="GetIcon">
+      <MemberSignature Language="C#" Value="public static GLib.IIcon GetIcon (string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IIcon GetIcon(string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="type" Type="System.String" />
@@ -114,12 +114,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeGetMimeType">
-      <MemberSignature Language="C#" Value="public static string TypeGetMimeType (string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string TypeGetMimeType(string type) cil managed" />
+    <Member MemberName="GetMimeType">
+      <MemberSignature Language="C#" Value="public static string GetMimeType (string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetMimeType(string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
@@ -132,12 +132,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeGuess">
-      <MemberSignature Language="C#" Value="public static string TypeGuess (string filename, out byte data, ulong data_size, out bool result_uncertain);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string TypeGuess(string filename, unsigned int8 data, unsigned int64 data_size, bool result_uncertain) cil managed" />
+    <Member MemberName="Guess">
+      <MemberSignature Language="C#" Value="public static string Guess (string filename, out byte data, ulong data_size, out bool result_uncertain);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string Guess(string filename, unsigned int8 data, unsigned int64 data_size, bool result_uncertain) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
@@ -156,30 +156,30 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeGuessForTree">
-      <MemberSignature Language="C#" Value="public static string TypeGuessForTree (GLib.File root);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string TypeGuessForTree(class GLib.File root) cil managed" />
+    <Member MemberName="GuessForTree">
+      <MemberSignature Language="C#" Value="public static string GuessForTree (GLib.IFile root);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GuessForTree(class GLib.IFile root) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="root" Type="GLib.File" />
+        <Parameter Name="root" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="root">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeIsA">
-      <MemberSignature Language="C#" Value="public static bool TypeIsA (string type, string supertype);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TypeIsA(string type, string supertype) cil managed" />
+    <Member MemberName="IsA">
+      <MemberSignature Language="C#" Value="public static bool IsA (string type, string supertype);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsA(string type, string supertype) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -194,12 +194,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypeIsUnknown">
-      <MemberSignature Language="C#" Value="public static bool TypeIsUnknown (string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool TypeIsUnknown(string type) cil managed" />
+    <Member MemberName="IsUnknown">
+      <MemberSignature Language="C#" Value="public static bool IsUnknown (string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsUnknown(string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -212,22 +212,21 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TypesGetRegistered">
-      <MemberSignature Language="C#" Value="public static GLib.List TypesGetRegistered ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List TypesGetRegistered() cil managed" />
-      <MemberType>Method</MemberType>
+    <Member MemberName="Registered">
+      <MemberSignature Language="C#" Value="public static string[] Registered { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property string[] Registered" />
+      <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
         <summary>To be added.</summary>
-        <returns>To be added.</returns>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/ConverterAdapter.xml b/doc/en/GLib/ConverterAdapter.xml
index d4299ec..55fc2cf 100644
--- a/doc/en/GLib/ConverterAdapter.xml
+++ b/doc/en/GLib/ConverterAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ConverterAdapter" FullName="GLib.ConverterAdapter">
-  <TypeSignature Language="C#" Value="public class ConverterAdapter : GLib.GInterfaceAdapter, GLib.Converter, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ConverterAdapter extends GLib.GInterfaceAdapter implements class GLib.Converter, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ConverterAdapter : GLib.GInterfaceAdapter, GLib.IConverter, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ConverterAdapter extends GLib.GInterfaceAdapter implements class GLib.IConverter, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Converter</InterfaceName>
+      <InterfaceName>GLib.IConverter</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ConverterAdapter (GLib.ConverterImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ConverterImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ConverterAdapter (GLib.IConverterImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IConverterImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.ConverterImplementor" />
+        <Parameter Name="implementor" Type="GLib.IConverterImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -91,11 +91,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Converter GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Converter GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IConverter GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IConverter GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Converter</ReturnType>
+        <ReturnType>GLib.IConverter</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -109,11 +109,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Converter GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Converter GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IConverter GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IConverter GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Converter</ReturnType>
+        <ReturnType>GLib.IConverter</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -128,9 +128,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -157,11 +171,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.ConverterImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ConverterImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IConverterImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IConverterImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ConverterImplementor</ReturnType>
+        <ReturnType>GLib.IConverterImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/ConverterInputStream.xml b/doc/en/GLib/ConverterInputStream.xml
index e058813..a35439d 100644
--- a/doc/en/GLib/ConverterInputStream.xml
+++ b/doc/en/GLib/ConverterInputStream.xml
@@ -22,19 +22,19 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ConverterInputStream (GLib.InputStream base_stream, GLib.Converter converter);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.InputStream base_stream, class GLib.Converter converter) cil managed" />
+      <MemberSignature Language="C#" Value="public ConverterInputStream (GLib.InputStream base_stream, GLib.IConverter converter);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.InputStream base_stream, class GLib.IConverter converter) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
         <Parameter Name="base_stream" Type="GLib.InputStream" />
-        <Parameter Name="converter" Type="GLib.Converter" />
+        <Parameter Name="converter" Type="GLib.IConverter" />
       </Parameters>
       <Docs>
         <param name="base_stream">To be added.</param>
@@ -45,8 +45,8 @@
       </Docs>
     </Member>
     <Member MemberName="Converter">
-      <MemberSignature Language="C#" Value="public GLib.Converter Converter { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Converter Converter" />
+      <MemberSignature Language="C#" Value="public GLib.IConverter Converter { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IConverter Converter" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -54,7 +54,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Converter</ReturnType>
+        <ReturnType>GLib.IConverter</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -71,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ConverterInputStream" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ConverterOutputStream.xml b/doc/en/GLib/ConverterOutputStream.xml
index 4058b82..0dce8f4 100644
--- a/doc/en/GLib/ConverterOutputStream.xml
+++ b/doc/en/GLib/ConverterOutputStream.xml
@@ -22,19 +22,19 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ConverterOutputStream (GLib.OutputStream base_stream, GLib.Converter converter);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.OutputStream base_stream, class GLib.Converter converter) cil managed" />
+      <MemberSignature Language="C#" Value="public ConverterOutputStream (GLib.OutputStream base_stream, GLib.IConverter converter);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.OutputStream base_stream, class GLib.IConverter converter) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
         <Parameter Name="base_stream" Type="GLib.OutputStream" />
-        <Parameter Name="converter" Type="GLib.Converter" />
+        <Parameter Name="converter" Type="GLib.IConverter" />
       </Parameters>
       <Docs>
         <param name="base_stream">To be added.</param>
@@ -45,8 +45,8 @@
       </Docs>
     </Member>
     <Member MemberName="Converter">
-      <MemberSignature Language="C#" Value="public GLib.Converter Converter { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Converter Converter" />
+      <MemberSignature Language="C#" Value="public GLib.IConverter Converter { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IConverter Converter" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -54,7 +54,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Converter</ReturnType>
+        <ReturnType>GLib.IConverter</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -71,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ConverterOutputStream" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Credentials.xml b/doc/en/GLib/Credentials.xml
index 6bdbd76..bcfca28 100644
--- a/doc/en/GLib/Credentials.xml
+++ b/doc/en/GLib/Credentials.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -65,9 +65,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Credentials" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Dbus.xml b/doc/en/GLib/DBus.xml
similarity index 92%
rename from doc/en/GLib/Dbus.xml
rename to doc/en/GLib/DBus.xml
index a5c3173..eddf07a 100644
--- a/doc/en/GLib/Dbus.xml
+++ b/doc/en/GLib/DBus.xml
@@ -1,6 +1,6 @@
-<Type Name="Dbus" FullName="GLib.Dbus">
-  <TypeSignature Language="C#" Value="public class Dbus" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Dbus extends System.Object" />
+<Type Name="DBus" FullName="GLib.DBus">
+  <TypeSignature Language="C#" Value="public class DBus" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBus extends System.Object" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,7 +15,7 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Dbus ();" />
+      <MemberSignature Language="C#" Value="public DBus ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters />
@@ -25,89 +25,6 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="AddressGetForBusSync">
-      <MemberSignature Language="C#" Value="public static string AddressGetForBusSync (GLib.BusType bus_type, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string AddressGetForBusSync(valuetype GLib.BusType bus_type, class GLib.Cancellable cancellable) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="bus_type" Type="GLib.BusType" />
-        <Parameter Name="cancellable" Type="GLib.Cancellable" />
-      </Parameters>
-      <Docs>
-        <param name="bus_type">To be added.</param>
-        <param name="cancellable">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="AddressGetStream">
-      <MemberSignature Language="C#" Value="public static void AddressGetStream (string address, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddressGetStream(string address, class GLib.Cancellable cancellable, class GLib.AsyncReadyCallback cb) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="address" Type="System.String" />
-        <Parameter Name="cancellable" Type="GLib.Cancellable" />
-        <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
-      </Parameters>
-      <Docs>
-        <param name="address">To be added.</param>
-        <param name="cancellable">To be added.</param>
-        <param name="cb">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="AddressGetStreamFinish">
-      <MemberSignature Language="C#" Value="public static GLib.IOStream AddressGetStreamFinish (GLib.AsyncResult res, string out_guid);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IOStream AddressGetStreamFinish(class GLib.AsyncResult res, string out_guid) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.IOStream</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
-        <Parameter Name="out_guid" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="res">To be added.</param>
-        <param name="out_guid">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="AddressGetStreamSync">
-      <MemberSignature Language="C#" Value="public static GLib.IOStream AddressGetStreamSync (string address, string out_guid, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IOStream AddressGetStreamSync(string address, string out_guid, class GLib.Cancellable cancellable) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.IOStream</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="address" Type="System.String" />
-        <Parameter Name="out_guid" Type="System.String" />
-        <Parameter Name="cancellable" Type="GLib.Cancellable" />
-      </Parameters>
-      <Docs>
-        <param name="address">To be added.</param>
-        <param name="out_guid">To be added.</param>
-        <param name="cancellable">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
     <Member MemberName="ErrorEncodeGerror">
       <MemberSignature Language="C#" Value="public static string ErrorEncodeGerror (IntPtr error);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string ErrorEncodeGerror(native int error) cil managed" />
@@ -296,6 +213,89 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GetAddressForBusSync">
+      <MemberSignature Language="C#" Value="public static string GetAddressForBusSync (GLib.BusType bus_type, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetAddressForBusSync(valuetype GLib.BusType bus_type, class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="bus_type" Type="GLib.BusType" />
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="bus_type">To be added.</param>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetStream">
+      <MemberSignature Language="C#" Value="public static void GetStream (string address, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void GetStream(string address, class GLib.Cancellable cancellable, class GLib.AsyncReadyCallback cb) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="address" Type="System.String" />
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+        <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
+      </Parameters>
+      <Docs>
+        <param name="address">To be added.</param>
+        <param name="cancellable">To be added.</param>
+        <param name="cb">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetStreamFinish">
+      <MemberSignature Language="C#" Value="public static GLib.IOStream GetStreamFinish (GLib.IAsyncResult res, string out_guid);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IOStream GetStreamFinish(class GLib.IAsyncResult res, string out_guid) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.IOStream</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
+        <Parameter Name="out_guid" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="res">To be added.</param>
+        <param name="out_guid">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetStreamSync">
+      <MemberSignature Language="C#" Value="public static GLib.IOStream GetStreamSync (string address, string out_guid, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IOStream GetStreamSync(string address, string out_guid, class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.IOStream</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="address" Type="System.String" />
+        <Parameter Name="out_guid" Type="System.String" />
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="address">To be added.</param>
+        <param name="out_guid">To be added.</param>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsAddress">
       <MemberSignature Language="C#" Value="public static bool IsAddress (string str1ng);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAddress(string str1ng) cil managed" />
diff --git a/doc/en/GLib/DBusAuth.xml b/doc/en/GLib/DBusAuth.xml
index f2b0985..2ec7dea 100644
--- a/doc/en/GLib/DBusAuth.xml
+++ b/doc/en/GLib/DBusAuth.xml
@@ -33,8 +33,27 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Stream">
+      <MemberSignature Language="C#" Value="public GLib.IOStream Stream { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IOStream Stream" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("stream")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.IOStream</ReturnType>
+      </ReturnValue>
+      <Docs>
         <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
diff --git a/doc/en/GLib/DBusAuthMechanism.xml b/doc/en/GLib/DBusAuthMechanism.xml
index bcddff5..373ca51 100644
--- a/doc/en/GLib/DBusAuthMechanism.xml
+++ b/doc/en/GLib/DBusAuthMechanism.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -361,5 +361,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="Stream">
+      <MemberSignature Language="C#" Value="public GLib.IOStream Stream { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IOStream Stream" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("stream")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.IOStream</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
   </Members>
 </Type>
diff --git a/doc/en/GLib/DBusAuthMechanismAnon.xml b/doc/en/GLib/DBusAuthMechanismAnon.xml
index a0eadc2..f8d4132 100644
--- a/doc/en/GLib/DBusAuthMechanismAnon.xml
+++ b/doc/en/GLib/DBusAuthMechanismAnon.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusAuthMechanismExternal.xml b/doc/en/GLib/DBusAuthMechanismExternal.xml
index 401c8fb..7ff3322 100644
--- a/doc/en/GLib/DBusAuthMechanismExternal.xml
+++ b/doc/en/GLib/DBusAuthMechanismExternal.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusAuthMechanismSha1.xml b/doc/en/GLib/DBusAuthMechanismSha1.xml
index 1019ec5..26717e2 100644
--- a/doc/en/GLib/DBusAuthMechanismSha1.xml
+++ b/doc/en/GLib/DBusAuthMechanismSha1.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusAuthObserver.xml b/doc/en/GLib/DBusAuthObserver.xml
index 105626f..b09b91f 100644
--- a/doc/en/GLib/DBusAuthObserver.xml
+++ b/doc/en/GLib/DBusAuthObserver.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -85,9 +85,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DBusAuthObserver" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -110,9 +110,9 @@
       <Docs>
         <param name="stream">To be added.</param>
         <param name="credentials">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.DBusAuthObserver.AuthenticatedPeerAuthorized" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.DBusAuthObserver.AuthenticatedPeerAuthorized" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusConnection.xml b/doc/en/GLib/DBusConnection.xml
index 8d8e373..c89aebf 100644
--- a/doc/en/GLib/DBusConnection.xml
+++ b/doc/en/GLib/DBusConnection.xml
@@ -1,6 +1,6 @@
 <Type Name="DBusConnection" FullName="GLib.DBusConnection">
-  <TypeSignature Language="C#" Value="public class DBusConnection : GLib.Object, GLib.AsyncInitable, GLib.Initable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBusConnection extends GLib.Object implements class GLib.AsyncInitable, class GLib.Initable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class DBusConnection : GLib.Object, GLib.IAsyncInitable, GLib.IInitable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBusConnection extends GLib.Object implements class GLib.IAsyncInitable, class GLib.IInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AsyncInitable</InterfaceName>
+      <InterfaceName>GLib.IAsyncInitable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Initable</InterfaceName>
+      <InterfaceName>GLib.IInitable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -22,11 +22,11 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public DBusConnection (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public DBusConnection (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -43,9 +43,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -191,14 +191,14 @@
       </Docs>
     </Member>
     <Member MemberName="CallFinish">
-      <MemberSignature Language="C#" Value="public GLib.Variant CallFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Variant CallFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.Variant CallFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Variant CallFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.Variant</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -246,6 +246,11 @@
       <MemberSignature Language="C#" Value="public GLib.DBusCapabilityFlags Capabilities { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.DBusCapabilityFlags Capabilities" />
       <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("capabilities")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
         <ReturnType>GLib.DBusCapabilityFlags</ReturnType>
       </ReturnValue>
@@ -294,14 +299,14 @@
       </Docs>
     </Member>
     <Member MemberName="CloseFinish">
-      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -394,14 +399,14 @@
       </Docs>
     </Member>
     <Member MemberName="FlushFinish">
-      <MemberSignature Language="C#" Value="public bool FlushFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool FlushFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool FlushFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool FlushFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -437,9 +442,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DBusConnection" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -502,14 +507,14 @@
       </Docs>
     </Member>
     <Member MemberName="InitFinish">
-      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -539,14 +544,14 @@
       </Docs>
     </Member>
     <Member MemberName="NewForAddressFinish">
-      <MemberSignature Language="C#" Value="public static GLib.DBusConnection NewForAddressFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DBusConnection NewForAddressFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.DBusConnection NewForAddressFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DBusConnection NewForAddressFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.DBusConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -575,8 +580,8 @@
       <Docs>
         <param name="remote_peer_vanished">To be added.</param>
         <param name="error">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.DBusConnection.Closed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.DBusConnection.Closed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -712,14 +717,14 @@
       </Docs>
     </Member>
     <Member MemberName="SendMessageWithReplyFinish">
-      <MemberSignature Language="C#" Value="public GLib.DBusMessage SendMessageWithReplyFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DBusMessage SendMessageWithReplyFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.DBusMessage SendMessageWithReplyFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DBusMessage SendMessageWithReplyFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.DBusMessage</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -820,6 +825,11 @@
       <MemberSignature Language="C#" Value="public GLib.IOStream Stream { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance class GLib.IOStream Stream" />
       <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("stream")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
diff --git a/doc/en/GLib/DBusMessage.xml b/doc/en/GLib/DBusMessage.xml
index dd60b0b..65a222a 100644
--- a/doc/en/GLib/DBusMessage.xml
+++ b/doc/en/GLib/DBusMessage.xml
@@ -47,9 +47,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -292,9 +292,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DBusMessage" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusMethodInvocation.xml b/doc/en/GLib/DBusMethodInvocation.xml
index 36827ba..8bd1fc0 100644
--- a/doc/en/GLib/DBusMethodInvocation.xml
+++ b/doc/en/GLib/DBusMethodInvocation.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -61,9 +61,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DBusMethodInvocation" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusProxy.xml b/doc/en/GLib/DBusProxy.xml
index a036a13..786d5fe 100644
--- a/doc/en/GLib/DBusProxy.xml
+++ b/doc/en/GLib/DBusProxy.xml
@@ -1,6 +1,6 @@
 <Type Name="DBusProxy" FullName="GLib.DBusProxy">
-  <TypeSignature Language="C#" Value="public class DBusProxy : GLib.Object, GLib.AsyncInitable, GLib.Initable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBusProxy extends GLib.Object implements class GLib.AsyncInitable, class GLib.Initable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class DBusProxy : GLib.Object, GLib.IAsyncInitable, GLib.IInitable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBusProxy extends GLib.Object implements class GLib.IAsyncInitable, class GLib.IInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AsyncInitable</InterfaceName>
+      <InterfaceName>GLib.IAsyncInitable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Initable</InterfaceName>
+      <InterfaceName>GLib.IInitable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -22,11 +22,11 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public DBusProxy (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public DBusProxy (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -43,9 +43,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -199,14 +199,14 @@
       </Docs>
     </Member>
     <Member MemberName="CallFinish">
-      <MemberSignature Language="C#" Value="public GLib.Variant CallFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Variant CallFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.Variant CallFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Variant CallFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.Variant</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -284,6 +284,25 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GConnection">
+      <MemberSignature Language="C#" Value="public GLib.DBusConnection GConnection { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.DBusConnection GConnection" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("g-connection")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.DBusConnection</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GDefaultTimeout">
       <MemberSignature Language="C#" Value="public int GDefaultTimeout { get; set; }" />
       <MemberSignature Language="ILAsm" Value=".property instance int32 GDefaultTimeout" />
@@ -321,6 +340,44 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GFlags">
+      <MemberSignature Language="C#" Value="public GLib.DBusProxyFlags GFlags { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.DBusProxyFlags GFlags" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("g-flags")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.DBusProxyFlags</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceInfo">
+      <MemberSignature Language="C#" Value="public GLib.DBusInterfaceInfo GInterfaceInfo { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.DBusInterfaceInfo GInterfaceInfo" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("g-interface-info")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.DBusInterfaceInfo</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GInterfaceName">
       <MemberSignature Language="C#" Value="public string GInterfaceName { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance string GInterfaceName" />
@@ -441,9 +498,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DBusProxy" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -487,14 +544,14 @@
       </Docs>
     </Member>
     <Member MemberName="InitFinish">
-      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -561,14 +618,14 @@
       </Docs>
     </Member>
     <Member MemberName="NewForBusFinish">
-      <MemberSignature Language="C#" Value="public static GLib.DBusProxy NewForBusFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DBusProxy NewForBusFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.DBusProxy NewForBusFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DBusProxy NewForBusFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.DBusProxy</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -611,8 +668,8 @@
       <Docs>
         <param name="changed_properties">To be added.</param>
         <param name="invalidated_properties">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.DBusProxy.GPropertiesChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.DBusProxy.GPropertiesChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -637,8 +694,8 @@
         <param name="sender_name">To be added.</param>
         <param name="signal_name">To be added.</param>
         <param name="parameters">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.DBusProxy.GSignal" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.DBusProxy.GSignal" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DBusServer.xml b/doc/en/GLib/DBusServer.xml
index a6d02e1..92d45a0 100644
--- a/doc/en/GLib/DBusServer.xml
+++ b/doc/en/GLib/DBusServer.xml
@@ -1,6 +1,6 @@
 <Type Name="DBusServer" FullName="GLib.DBusServer">
-  <TypeSignature Language="C#" Value="public class DBusServer : GLib.Object, GLib.Initable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBusServer extends GLib.Object implements class GLib.Initable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class DBusServer : GLib.Object, GLib.IInitable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DBusServer extends GLib.Object implements class GLib.IInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Initable</InterfaceName>
+      <InterfaceName>GLib.IInitable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -92,6 +92,25 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="AuthenticationObserver">
+      <MemberSignature Language="C#" Value="public GLib.DBusAuthObserver AuthenticationObserver { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.DBusAuthObserver AuthenticationObserver" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("authentication-observer")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.DBusAuthObserver</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="ClientAddress">
       <MemberSignature Language="C#" Value="public string ClientAddress { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance string ClientAddress" />
@@ -115,6 +134,11 @@
       <MemberSignature Language="C#" Value="public GLib.DBusServerFlags Flags { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.DBusServerFlags Flags" />
       <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("flags")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
         <ReturnType>GLib.DBusServerFlags</ReturnType>
       </ReturnValue>
@@ -133,9 +157,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DBusServer" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -225,9 +249,9 @@
       </Parameters>
       <Docs>
         <param name="connection">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.DBusServer.NewConnection" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.DBusServer.NewConnection" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/DataInputStream.xml b/doc/en/GLib/DataInputStream.xml
index 3d6b473..e174dff 100644
--- a/doc/en/GLib/DataInputStream.xml
+++ b/doc/en/GLib/DataInputStream.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -69,9 +69,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DataInputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -208,14 +208,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReadLineFinish">
-      <MemberSignature Language="C#" Value="public string ReadLineFinish (GLib.AsyncResult result, out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ReadLineFinish(class GLib.AsyncResult result, unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string ReadLineFinish (GLib.IAsyncResult result, out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ReadLineFinish(class GLib.IAsyncResult result, unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
       </Parameters>
       <Docs>
@@ -327,14 +327,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReadUntilFinish">
-      <MemberSignature Language="C#" Value="public string ReadUntilFinish (GLib.AsyncResult result, out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ReadUntilFinish(class GLib.AsyncResult result, unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string ReadUntilFinish (GLib.IAsyncResult result, out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ReadUntilFinish(class GLib.IAsyncResult result, unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
       </Parameters>
       <Docs>
@@ -392,14 +392,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReadUptoFinish">
-      <MemberSignature Language="C#" Value="public string ReadUptoFinish (GLib.AsyncResult result, out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ReadUptoFinish(class GLib.AsyncResult result, unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string ReadUptoFinish (GLib.IAsyncResult result, out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ReadUptoFinish(class GLib.IAsyncResult result, unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
       </Parameters>
       <Docs>
diff --git a/doc/en/GLib/DataOutputStream.xml b/doc/en/GLib/DataOutputStream.xml
index daf917a..64e0ec6 100644
--- a/doc/en/GLib/DataOutputStream.xml
+++ b/doc/en/GLib/DataOutputStream.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -69,9 +69,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DataOutputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Date.xml b/doc/en/GLib/Date.xml
new file mode 100644
index 0000000..0670ef4
--- /dev/null
+++ b/doc/en/GLib/Date.xml
@@ -0,0 +1,787 @@
+<Type Name="Date" FullName="GLib.Date">
+  <TypeSignature Language="C#" Value="public class Date : GLib.Opaque" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Date extends GLib.Opaque" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
+  </Base>
+  <Interfaces />
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Date ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Date (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Date (uint julian_day);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int32 julian_day) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="julian_day" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="julian_day">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Date (byte day, int month, ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int8 day, int32 month, unsigned int16 year) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="day" Type="System.Byte" />
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="day">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddDays">
+      <MemberSignature Language="C#" Value="public void AddDays (uint n_days);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddDays(unsigned int32 n_days) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_days" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_days">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddMonths">
+      <MemberSignature Language="C#" Value="public void AddMonths (uint n_months);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddMonths(unsigned int32 n_months) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_months" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_months">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddYears">
+      <MemberSignature Language="C#" Value="public void AddYears (uint n_years);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddYears(unsigned int32 n_years) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_years" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_years">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Clamp">
+      <MemberSignature Language="C#" Value="public void Clamp (GLib.Date min_date, GLib.Date max_date);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clamp(class GLib.Date min_date, class GLib.Date max_date) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="min_date" Type="GLib.Date" />
+        <Parameter Name="max_date" Type="GLib.Date" />
+      </Parameters>
+      <Docs>
+        <param name="min_date">To be added.</param>
+        <param name="max_date">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Clear">
+      <MemberSignature Language="C#" Value="public void Clear (uint n_dates);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clear(unsigned int32 n_dates) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_dates" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_dates">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Compare">
+      <MemberSignature Language="C#" Value="public int Compare (GLib.Date rhs);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 Compare(class GLib.Date rhs) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="rhs" Type="GLib.Date" />
+      </Parameters>
+      <Docs>
+        <param name="rhs">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Day">
+      <MemberSignature Language="C#" Value="public byte Day { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int8 Day" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Byte</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="DayOfYear">
+      <MemberSignature Language="C#" Value="public uint DayOfYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 DayOfYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="DaysBetween">
+      <MemberSignature Language="C#" Value="public int DaysBetween (GLib.Date date2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 DaysBetween(class GLib.Date date2) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="date2" Type="GLib.Date" />
+      </Parameters>
+      <Docs>
+        <param name="date2">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Finalize">
+      <MemberSignature Language="C#" Value="~Date ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Free">
+      <MemberSignature Language="C#" Value="protected override void Free (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Free(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetDaysInMonth">
+      <MemberSignature Language="C#" Value="public static byte GetDaysInMonth (int month, ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int8 GetDaysInMonth(int32 month, unsigned int16 year) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Byte</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="month">To be added.</param>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetMondayWeeksInYear">
+      <MemberSignature Language="C#" Value="public static byte GetMondayWeeksInYear (ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int8 GetMondayWeeksInYear(unsigned int16 year) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Byte</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetSundayWeeksInYear">
+      <MemberSignature Language="C#" Value="public static byte GetSundayWeeksInYear (ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int8 GetSundayWeeksInYear(unsigned int16 year) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Byte</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GType">
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="IsFirstOfMonth">
+      <MemberSignature Language="C#" Value="public bool IsFirstOfMonth { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance bool IsFirstOfMonth" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="IsLastOfMonth">
+      <MemberSignature Language="C#" Value="public bool IsLastOfMonth { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance bool IsLastOfMonth" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="IsLeapYear">
+      <MemberSignature Language="C#" Value="public static bool IsLeapYear (ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsLeapYear(unsigned int16 year) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Iso8601WeekOfYear">
+      <MemberSignature Language="C#" Value="public uint Iso8601WeekOfYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 Iso8601WeekOfYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Julian">
+      <MemberSignature Language="C#" Value="public uint Julian { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 Julian" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="MondayWeekOfYear">
+      <MemberSignature Language="C#" Value="public uint MondayWeekOfYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 MondayWeekOfYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Month">
+      <MemberSignature Language="C#" Value="public int Month { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Month" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Order">
+      <MemberSignature Language="C#" Value="public void Order (GLib.Date date2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Order(class GLib.Date date2) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="date2" Type="GLib.Date" />
+      </Parameters>
+      <Docs>
+        <param name="date2">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Parse">
+      <MemberSignature Language="C#" Value="public string Parse { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string Parse" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SetDmy">
+      <MemberSignature Language="C#" Value="public void SetDmy (byte day, int month, ushort y);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetDmy(unsigned int8 day, int32 month, unsigned int16 y) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="day" Type="System.Byte" />
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="y" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="day">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="y">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Strftime">
+      <MemberSignature Language="C#" Value="public static ulong Strftime (string s, string format, GLib.Date date);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int64 Strftime(string s, string format, class GLib.Date date) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt64</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="s" Type="System.String" />
+        <Parameter Name="format" Type="System.String" />
+        <Parameter Name="date" Type="GLib.Date" />
+      </Parameters>
+      <Docs>
+        <param name="s">To be added.</param>
+        <param name="format">To be added.</param>
+        <param name="date">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SubtractDays">
+      <MemberSignature Language="C#" Value="public void SubtractDays (uint n_days);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SubtractDays(unsigned int32 n_days) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_days" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_days">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SubtractMonths">
+      <MemberSignature Language="C#" Value="public void SubtractMonths (uint n_months);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SubtractMonths(unsigned int32 n_months) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_months" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_months">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SubtractYears">
+      <MemberSignature Language="C#" Value="public void SubtractYears (uint n_years);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SubtractYears(unsigned int32 n_years) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="n_years" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="n_years">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SundayWeekOfYear">
+      <MemberSignature Language="C#" Value="public uint SundayWeekOfYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 SundayWeekOfYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Time">
+      <MemberSignature Language="C#" Value="public int Time { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Time" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>System.Obsolete</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TimeT">
+      <MemberSignature Language="C#" Value="public long TimeT { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int64 TimeT" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TimeVal">
+      <MemberSignature Language="C#" Value="public GLib.TimeVal TimeVal { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.TimeVal TimeVal" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.TimeVal</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToStructTm">
+      <MemberSignature Language="C#" Value="public void ToStructTm (IntPtr tm);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ToStructTm(native int tm) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tm" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="tm">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Valid">
+      <MemberSignature Language="C#" Value="public bool Valid ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Valid() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ValidDay">
+      <MemberSignature Language="C#" Value="public static bool ValidDay (byte day);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool ValidDay(unsigned int8 day) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="day" Type="System.Byte" />
+      </Parameters>
+      <Docs>
+        <param name="day">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ValidDmy">
+      <MemberSignature Language="C#" Value="public static bool ValidDmy (byte day, int month, ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool ValidDmy(unsigned int8 day, int32 month, unsigned int16 year) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="day" Type="System.Byte" />
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="day">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ValidJulian">
+      <MemberSignature Language="C#" Value="public static bool ValidJulian (uint julian_date);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool ValidJulian(unsigned int32 julian_date) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="julian_date" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="julian_date">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ValidMonth">
+      <MemberSignature Language="C#" Value="public static bool ValidMonth (int month);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool ValidMonth(int32 month) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="month" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="month">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ValidWeekday">
+      <MemberSignature Language="C#" Value="public static bool ValidWeekday (int weekday);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool ValidWeekday(int32 weekday) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="weekday" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="weekday">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ValidYear">
+      <MemberSignature Language="C#" Value="public static bool ValidYear (ushort year);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool ValidYear(unsigned int16 year) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="year" Type="System.UInt16" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Weekday">
+      <MemberSignature Language="C#" Value="public int Weekday { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Weekday" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Year">
+      <MemberSignature Language="C#" Value="public ushort Year { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int16 Year" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt16</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/DateTime.xml b/doc/en/GLib/DateTime.xml
new file mode 100644
index 0000000..4c0890c
--- /dev/null
+++ b/doc/en/GLib/DateTime.xml
@@ -0,0 +1,854 @@
+<Type Name="DateTime" FullName="GLib.DateTime">
+  <TypeSignature Language="C#" Value="public class DateTime : GLib.Opaque" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DateTime extends GLib.Opaque" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
+  </Base>
+  <Interfaces />
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime (GLib.TimeVal tv);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype GLib.TimeVal tv) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="tv" Type="GLib.TimeVal" />
+      </Parameters>
+      <Docs>
+        <param name="tv">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime (GLib.TimeZone tz);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.TimeZone tz) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="tz" Type="GLib.TimeZone" />
+      </Parameters>
+      <Docs>
+        <param name="tz">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime (long t);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int64 t) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="t" Type="System.Int64" />
+      </Parameters>
+      <Docs>
+        <param name="t">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime (int year, int month, int day, int hour, int minute, double seconds);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 year, int32 month, int32 day, int32 hour, int32 minute, float64 seconds) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="year" Type="System.Int32" />
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="day" Type="System.Int32" />
+        <Parameter Name="hour" Type="System.Int32" />
+        <Parameter Name="minute" Type="System.Int32" />
+        <Parameter Name="seconds" Type="System.Double" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="day">To be added.</param>
+        <param name="hour">To be added.</param>
+        <param name="minute">To be added.</param>
+        <param name="seconds">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public DateTime (GLib.TimeZone tz, int year, int month, int day, int hour, int minute, double seconds);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.TimeZone tz, int32 year, int32 month, int32 day, int32 hour, int32 minute, float64 seconds) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="tz" Type="GLib.TimeZone" />
+        <Parameter Name="year" Type="System.Int32" />
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="day" Type="System.Int32" />
+        <Parameter Name="hour" Type="System.Int32" />
+        <Parameter Name="minute" Type="System.Int32" />
+        <Parameter Name="seconds" Type="System.Double" />
+      </Parameters>
+      <Docs>
+        <param name="tz">To be added.</param>
+        <param name="year">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="day">To be added.</param>
+        <param name="hour">To be added.</param>
+        <param name="minute">To be added.</param>
+        <param name="seconds">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Add">
+      <MemberSignature Language="C#" Value="public GLib.DateTime Add (long timespan);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime Add(int64 timespan) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="timespan" Type="System.Int64" />
+      </Parameters>
+      <Docs>
+        <param name="timespan">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddDays">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddDays (int days);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddDays(int32 days) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="days" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="days">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddFull">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddFull (int years, int months, int days, int hours, int minutes, double seconds);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddFull(int32 years, int32 months, int32 days, int32 hours, int32 minutes, float64 seconds) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="years" Type="System.Int32" />
+        <Parameter Name="months" Type="System.Int32" />
+        <Parameter Name="days" Type="System.Int32" />
+        <Parameter Name="hours" Type="System.Int32" />
+        <Parameter Name="minutes" Type="System.Int32" />
+        <Parameter Name="seconds" Type="System.Double" />
+      </Parameters>
+      <Docs>
+        <param name="years">To be added.</param>
+        <param name="months">To be added.</param>
+        <param name="days">To be added.</param>
+        <param name="hours">To be added.</param>
+        <param name="minutes">To be added.</param>
+        <param name="seconds">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddHours">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddHours (int hours);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddHours(int32 hours) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="hours" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="hours">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddMinutes">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddMinutes (int minutes);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddMinutes(int32 minutes) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="minutes" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="minutes">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddMonths">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddMonths (int months);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddMonths(int32 months) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="months" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="months">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddSeconds">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddSeconds (double seconds);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddSeconds(float64 seconds) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="seconds" Type="System.Double" />
+      </Parameters>
+      <Docs>
+        <param name="seconds">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddWeeks">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddWeeks (int weeks);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddWeeks(int32 weeks) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="weeks" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="weeks">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddYears">
+      <MemberSignature Language="C#" Value="public GLib.DateTime AddYears (int years);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime AddYears(int32 years) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="years" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="years">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Compare">
+      <MemberSignature Language="C#" Value="public static int Compare (IntPtr dt1, IntPtr dt2);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 Compare(native int dt1, native int dt2) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="dt1" Type="System.IntPtr" />
+        <Parameter Name="dt2" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="dt1">To be added.</param>
+        <param name="dt2">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="DayOfMonth">
+      <MemberSignature Language="C#" Value="public int DayOfMonth { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 DayOfMonth" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="DayOfWeek">
+      <MemberSignature Language="C#" Value="public int DayOfWeek { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 DayOfWeek" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="DayOfYear">
+      <MemberSignature Language="C#" Value="public int DayOfYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 DayOfYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Difference">
+      <MemberSignature Language="C#" Value="public long Difference (GLib.DateTime begin);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 Difference(class GLib.DateTime begin) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="begin" Type="GLib.DateTime" />
+      </Parameters>
+      <Docs>
+        <param name="begin">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Equal">
+      <MemberSignature Language="C#" Value="public static bool Equal (IntPtr dt1, IntPtr dt2);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool Equal(native int dt1, native int dt2) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="dt1" Type="System.IntPtr" />
+        <Parameter Name="dt2" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="dt1">To be added.</param>
+        <param name="dt2">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Finalize">
+      <MemberSignature Language="C#" Value="~DateTime ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Format">
+      <MemberSignature Language="C#" Value="public string Format (string format);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string Format(string format) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="format" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="format">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetYmd">
+      <MemberSignature Language="C#" Value="public void GetYmd (out int year, out int month, out int day);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetYmd(int32 year, int32 month, int32 day) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="year" Type="System.Int32&" RefType="out" />
+        <Parameter Name="month" Type="System.Int32&" RefType="out" />
+        <Parameter Name="day" Type="System.Int32&" RefType="out" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="day">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GType">
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Hash">
+      <MemberSignature Language="C#" Value="public static uint Hash (IntPtr datetime);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int32 Hash(native int datetime) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="datetime" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="datetime">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Hour">
+      <MemberSignature Language="C#" Value="public int Hour { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Hour" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="IsDaylightSavings">
+      <MemberSignature Language="C#" Value="public bool IsDaylightSavings { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance bool IsDaylightSavings" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Microsecond">
+      <MemberSignature Language="C#" Value="public int Microsecond { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Microsecond" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Minute">
+      <MemberSignature Language="C#" Value="public int Minute { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Minute" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Month">
+      <MemberSignature Language="C#" Value="public int Month { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Month" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="NewFromTimevalUtc">
+      <MemberSignature Language="C#" Value="public static GLib.DateTime NewFromTimevalUtc (GLib.TimeVal tv);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DateTime NewFromTimevalUtc(valuetype GLib.TimeVal tv) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tv" Type="GLib.TimeVal" />
+      </Parameters>
+      <Docs>
+        <param name="tv">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="NewFromUnixUtc">
+      <MemberSignature Language="C#" Value="public static GLib.DateTime NewFromUnixUtc (long t);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DateTime NewFromUnixUtc(int64 t) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="t" Type="System.Int64" />
+      </Parameters>
+      <Docs>
+        <param name="t">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="NewNowUtc">
+      <MemberSignature Language="C#" Value="public static GLib.DateTime NewNowUtc ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DateTime NewNowUtc() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="NewUtc">
+      <MemberSignature Language="C#" Value="public static GLib.DateTime NewUtc (int year, int month, int day, int hour, int minute, double seconds);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.DateTime NewUtc(int32 year, int32 month, int32 day, int32 hour, int32 minute, float64 seconds) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="year" Type="System.Int32" />
+        <Parameter Name="month" Type="System.Int32" />
+        <Parameter Name="day" Type="System.Int32" />
+        <Parameter Name="hour" Type="System.Int32" />
+        <Parameter Name="minute" Type="System.Int32" />
+        <Parameter Name="seconds" Type="System.Double" />
+      </Parameters>
+      <Docs>
+        <param name="year">To be added.</param>
+        <param name="month">To be added.</param>
+        <param name="day">To be added.</param>
+        <param name="hour">To be added.</param>
+        <param name="minute">To be added.</param>
+        <param name="seconds">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Ref">
+      <MemberSignature Language="C#" Value="protected override void Ref (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Ref(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Second">
+      <MemberSignature Language="C#" Value="public int Second { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Second" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Seconds">
+      <MemberSignature Language="C#" Value="public double Seconds { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance float64 Seconds" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Double</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TimezoneAbbreviation">
+      <MemberSignature Language="C#" Value="public string TimezoneAbbreviation { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string TimezoneAbbreviation" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToLocal">
+      <MemberSignature Language="C#" Value="public GLib.DateTime ToLocal ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime ToLocal() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToTimeval">
+      <MemberSignature Language="C#" Value="public bool ToTimeval (GLib.TimeVal tv);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool ToTimeval(valuetype GLib.TimeVal tv) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tv" Type="GLib.TimeVal" />
+      </Parameters>
+      <Docs>
+        <param name="tv">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToTimezone">
+      <MemberSignature Language="C#" Value="public GLib.DateTime ToTimezone (GLib.TimeZone tz);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime ToTimezone(class GLib.TimeZone tz) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tz" Type="GLib.TimeZone" />
+      </Parameters>
+      <Docs>
+        <param name="tz">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToUnix">
+      <MemberSignature Language="C#" Value="public long ToUnix ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 ToUnix() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToUtc">
+      <MemberSignature Language="C#" Value="public GLib.DateTime ToUtc ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.DateTime ToUtc() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.DateTime</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Unref">
+      <MemberSignature Language="C#" Value="protected override void Unref (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Unref(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="UtcOffset">
+      <MemberSignature Language="C#" Value="public long UtcOffset { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int64 UtcOffset" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="WeekNumberingYear">
+      <MemberSignature Language="C#" Value="public int WeekNumberingYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 WeekNumberingYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="WeekOfYear">
+      <MemberSignature Language="C#" Value="public int WeekOfYear { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 WeekOfYear" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Year">
+      <MemberSignature Language="C#" Value="public int Year { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Year" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/DesktopAppInfo.xml b/doc/en/GLib/DesktopAppInfo.xml
index 8f02898..b756a0e 100644
--- a/doc/en/GLib/DesktopAppInfo.xml
+++ b/doc/en/GLib/DesktopAppInfo.xml
@@ -1,6 +1,6 @@
 <Type Name="DesktopAppInfo" FullName="GLib.DesktopAppInfo">
-  <TypeSignature Language="C#" Value="public class DesktopAppInfo : GLib.Object, GLib.AppInfo" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DesktopAppInfo extends GLib.Object implements class GLib.AppInfo, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class DesktopAppInfo : GLib.Object, GLib.IAppInfo" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DesktopAppInfo extends GLib.Object implements class GLib.IAppInfo, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AppInfo</InterfaceName>
+      <InterfaceName>GLib.IAppInfo</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -40,9 +40,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -179,36 +179,36 @@
       </Docs>
     </Member>
     <Member MemberName="Dup">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo Dup ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.AppInfo Dup() cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo Dup ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IAppInfo Dup() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.AppInfo appinfo2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.AppInfo appinfo2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IAppInfo appinfo2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IAppInfo appinfo2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="appinfo2" Type="GLib.AppInfo" />
+        <Parameter Name="appinfo2" Type="GLib.IAppInfo" />
       </Parameters>
       <Docs>
         <param name="appinfo2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Executable">
@@ -247,18 +247,18 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.DesktopAppInfo" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveAdapter.xml b/doc/en/GLib/DriveAdapter.xml
index 6ae8561..3898b03 100644
--- a/doc/en/GLib/DriveAdapter.xml
+++ b/doc/en/GLib/DriveAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="DriveAdapter" FullName="GLib.DriveAdapter">
-  <TypeSignature Language="C#" Value="public class DriveAdapter : GLib.GInterfaceAdapter, GLib.Drive, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DriveAdapter extends GLib.GInterfaceAdapter implements class GLib.Drive, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class DriveAdapter : GLib.GInterfaceAdapter, GLib.IDrive, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DriveAdapter extends GLib.GInterfaceAdapter implements class GLib.IDrive, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Drive</InterfaceName>
+      <InterfaceName>GLib.IDrive</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -191,8 +191,8 @@
       </Docs>
     </Member>
     <Member MemberName="EjectFinish">
-      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -203,14 +203,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperation">
@@ -237,14 +237,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -288,11 +288,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Drive GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Drive GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IDrive GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IDrive GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -302,15 +302,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Drive GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Drive GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IDrive GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IDrive GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -322,12 +322,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -382,11 +396,11 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -471,21 +485,21 @@
       </Docs>
     </Member>
     <Member MemberName="PollForMediaFinish">
-      <MemberSignature Language="C#" Value="public bool PollForMediaFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollForMediaFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool PollForMediaFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollForMediaFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Start">
@@ -512,14 +526,14 @@
       </Docs>
     </Member>
     <Member MemberName="StartFinish">
-      <MemberSignature Language="C#" Value="public bool StartFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StartFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -585,14 +599,14 @@
       </Docs>
     </Member>
     <Member MemberName="StopFinish">
-      <MemberSignature Language="C#" Value="public bool StopFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StopFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -603,11 +617,11 @@
       </Docs>
     </Member>
     <Member MemberName="Volumes">
-      <MemberSignature Language="C#" Value="public GLib.List Volumes { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List Volumes" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume[] Volumes { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume[] Volumes" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IVolume[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveChangedArgs.xml b/doc/en/GLib/DriveChangedArgs.xml
index 8317204..6aff484 100644
--- a/doc/en/GLib/DriveChangedArgs.xml
+++ b/doc/en/GLib/DriveChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveChanged" /> event invokes <see cref="T:GLib.DriveChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.DriveChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.DriveChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveChangedHandler.xml b/doc/en/GLib/DriveChangedHandler.xml
index ee134ab..28db0f5 100644
--- a/doc/en/GLib/DriveChangedHandler.xml
+++ b/doc/en/GLib/DriveChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.DriveChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.DriveChangedHandler" /> to an event, add the DriveChangedHandler instance to the event.  The methods referenced by the DriveChangedHandler instance are invoked whenever the event is raised, until the DriveChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/DriveConnectedArgs.xml b/doc/en/GLib/DriveConnectedArgs.xml
index 954b638..1076149 100644
--- a/doc/en/GLib/DriveConnectedArgs.xml
+++ b/doc/en/GLib/DriveConnectedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveConnected" /> event invokes <see cref="T:GLib.DriveConnectedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.DriveConnectedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.DriveConnectedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveConnectedHandler.xml b/doc/en/GLib/DriveConnectedHandler.xml
index 9c54aa2..acaf162 100644
--- a/doc/en/GLib/DriveConnectedHandler.xml
+++ b/doc/en/GLib/DriveConnectedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveConnected" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.DriveConnectedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.DriveConnectedHandler" /> to an event, add the DriveConnectedHandler instance to the event.  The methods referenced by the DriveConnectedHandler instance are invoked whenever the event is raised, until the DriveConnectedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/DriveDisconnectedArgs.xml b/doc/en/GLib/DriveDisconnectedArgs.xml
index ac6c82a..25b3f34 100644
--- a/doc/en/GLib/DriveDisconnectedArgs.xml
+++ b/doc/en/GLib/DriveDisconnectedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveDisconnected" /> event invokes <see cref="T:GLib.DriveDisconnectedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.DriveDisconnectedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.DriveDisconnectedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveDisconnectedHandler.xml b/doc/en/GLib/DriveDisconnectedHandler.xml
index ba74cc6..d7d6f6f 100644
--- a/doc/en/GLib/DriveDisconnectedHandler.xml
+++ b/doc/en/GLib/DriveDisconnectedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveDisconnected" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.DriveDisconnectedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.DriveDisconnectedHandler" /> to an event, add the DriveDisconnectedHandler instance to the event.  The methods referenced by the DriveDisconnectedHandler instance are invoked whenever the event is raised, until the DriveDisconnectedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/DriveEjectButtonArgs.xml b/doc/en/GLib/DriveEjectButtonArgs.xml
index cc40f26..4749067 100644
--- a/doc/en/GLib/DriveEjectButtonArgs.xml
+++ b/doc/en/GLib/DriveEjectButtonArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveEjectButton" /> event invokes <see cref="T:GLib.DriveEjectButtonHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.DriveEjectButtonArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.DriveEjectButtonHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveEjectButtonHandler.xml b/doc/en/GLib/DriveEjectButtonHandler.xml
index 000ec32..573dd1f 100644
--- a/doc/en/GLib/DriveEjectButtonHandler.xml
+++ b/doc/en/GLib/DriveEjectButtonHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveEjectButton" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.DriveEjectButtonArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.DriveEjectButtonHandler" /> to an event, add the DriveEjectButtonHandler instance to the event.  The methods referenced by the DriveEjectButtonHandler instance are invoked whenever the event is raised, until the DriveEjectButtonHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/DriveStopButtonArgs.xml b/doc/en/GLib/DriveStopButtonArgs.xml
index d0f7f29..846771a 100644
--- a/doc/en/GLib/DriveStopButtonArgs.xml
+++ b/doc/en/GLib/DriveStopButtonArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveStopButton" /> event invokes <see cref="T:GLib.DriveStopButtonHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.DriveStopButtonArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.DriveStopButtonHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/DriveStopButtonHandler.xml b/doc/en/GLib/DriveStopButtonHandler.xml
index 9fb3d19..797fb36 100644
--- a/doc/en/GLib/DriveStopButtonHandler.xml
+++ b/doc/en/GLib/DriveStopButtonHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.DriveStopButton" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.DriveStopButtonArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.DriveStopButtonHandler" /> to an event, add the DriveStopButtonHandler instance to the event.  The methods referenced by the DriveStopButtonHandler instance are invoked whenever the event is raised, until the DriveStopButtonHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/DummyProxyResolver.xml b/doc/en/GLib/DummyProxyResolver.xml
index 4dfd1cd..c631020 100644
--- a/doc/en/GLib/DummyProxyResolver.xml
+++ b/doc/en/GLib/DummyProxyResolver.xml
@@ -1,6 +1,6 @@
 <Type Name="DummyProxyResolver" FullName="GLib.DummyProxyResolver">
-  <TypeSignature Language="C#" Value="public class DummyProxyResolver : GLib.Object, GLib.ProxyResolver" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DummyProxyResolver extends GLib.Object implements class GLib.IWrapper, class GLib.ProxyResolver" />
+  <TypeSignature Language="C#" Value="public class DummyProxyResolver : GLib.Object, GLib.IProxyResolver" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DummyProxyResolver extends GLib.Object implements class GLib.IProxyResolver, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.ProxyResolver</InterfaceName>
+      <InterfaceName>GLib.IProxyResolver</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -99,14 +99,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupFinish">
-      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/Emblem.xml b/doc/en/GLib/Emblem.xml
index b087372..3ad76bc 100644
--- a/doc/en/GLib/Emblem.xml
+++ b/doc/en/GLib/Emblem.xml
@@ -1,6 +1,6 @@
 <Type Name="Emblem" FullName="GLib.Emblem">
-  <TypeSignature Language="C#" Value="public class Emblem : GLib.Object, GLib.Icon" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Emblem extends GLib.Object implements class GLib.Icon, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class Emblem : GLib.Object, GLib.IIcon" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Emblem extends GLib.Object implements class GLib.IIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Icon</InterfaceName>
+      <InterfaceName>GLib.IIcon</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -19,17 +19,17 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Emblem (GLib.Icon icon);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon icon) cil managed" />
+      <MemberSignature Language="C#" Value="public Emblem (GLib.IIcon icon);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon icon) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -40,18 +40,18 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Emblem (GLib.Icon icon, GLib.EmblemOrigin origin);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon icon, valuetype GLib.EmblemOrigin origin) cil managed" />
+      <MemberSignature Language="C#" Value="public Emblem (GLib.IIcon icon, GLib.EmblemOrigin origin);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon icon, valuetype GLib.EmblemOrigin origin) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
         <Parameter Name="origin" Type="GLib.EmblemOrigin" />
       </Parameters>
       <Docs>
@@ -59,25 +59,25 @@
         <param name="origin">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -88,15 +88,15 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Emblem" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -104,7 +104,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/EmblemedIcon.xml b/doc/en/GLib/EmblemedIcon.xml
index 5d6f656..b5d9b94 100644
--- a/doc/en/GLib/EmblemedIcon.xml
+++ b/doc/en/GLib/EmblemedIcon.xml
@@ -1,6 +1,6 @@
 <Type Name="EmblemedIcon" FullName="GLib.EmblemedIcon">
-  <TypeSignature Language="C#" Value="public class EmblemedIcon : GLib.Object, GLib.Icon" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit EmblemedIcon extends GLib.Object implements class GLib.Icon, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class EmblemedIcon : GLib.Object, GLib.IIcon" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit EmblemedIcon extends GLib.Object implements class GLib.IIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Icon</InterfaceName>
+      <InterfaceName>GLib.IIcon</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,18 +26,18 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public EmblemedIcon (GLib.Icon icon, GLib.Emblem emblem);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon icon, class GLib.Emblem emblem) cil managed" />
+      <MemberSignature Language="C#" Value="public EmblemedIcon (GLib.IIcon icon, GLib.Emblem emblem);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon icon, class GLib.Emblem emblem) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
         <Parameter Name="emblem" Type="GLib.Emblem" />
       </Parameters>
       <Docs>
@@ -45,7 +45,7 @@
         <param name="emblem">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AddEmblem">
@@ -80,11 +80,11 @@
       </Docs>
     </Member>
     <Member MemberName="Emblems">
-      <MemberSignature Language="C#" Value="public GLib.List Emblems { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List Emblems" />
+      <MemberSignature Language="C#" Value="public GLib.Emblem[] Emblems { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Emblem[] Emblems" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.Emblem[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -94,26 +94,26 @@
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Gicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Gicon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Gicon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Gicon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Gicon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -121,7 +121,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -138,18 +138,18 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.EmblemedIcon" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/FileAdapter.xml b/doc/en/GLib/FileAdapter.xml
index 87483dc..d747e12 100644
--- a/doc/en/GLib/FileAdapter.xml
+++ b/doc/en/GLib/FileAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="FileAdapter" FullName="GLib.FileAdapter">
-  <TypeSignature Language="C#" Value="public class FileAdapter : GLib.GInterfaceAdapter, GLib.File, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileAdapter extends GLib.GInterfaceAdapter implements class GLib.File, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class FileAdapter : GLib.GInterfaceAdapter, GLib.IFile, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileAdapter extends GLib.GInterfaceAdapter implements class GLib.IFile, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.File</InterfaceName>
+      <InterfaceName>GLib.IFile</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -79,21 +79,21 @@
       </Docs>
     </Member>
     <Member MemberName="AppendToFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileOutputStream AppendToFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream AppendToFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileOutputStream AppendToFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream AppendToFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Basename">
@@ -111,14 +111,14 @@
       </Docs>
     </Member>
     <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="public bool Copy (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Copy(class GLib.File destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Copy (GLib.IFile destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Copy(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
         <Parameter Name="progress_callback" Type="GLib.FileProgressCallback" />
@@ -131,18 +131,18 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyAsync">
-      <MemberSignature Language="C#" Value="public void CopyAsync (GLib.File destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyAsync(class GLib.File destination, valuetype GLib.FileCopyFlags flags, int32 io_priority, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback, class GLib.AsyncReadyCallback cb) cil managed" />
+      <MemberSignature Language="C#" Value="public void CopyAsync (GLib.IFile destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyAsync(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, int32 io_priority, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback, class GLib.AsyncReadyCallback cb) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="io_priority" Type="System.Int32" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
@@ -158,18 +158,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyAttributes">
-      <MemberSignature Language="C#" Value="public bool CopyAttributes (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyAttributes(class GLib.File destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CopyAttributes (GLib.IFile destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyAttributes(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
       </Parameters>
@@ -180,25 +180,25 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyFinish">
-      <MemberSignature Language="C#" Value="public bool CopyFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CopyFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Create">
@@ -245,21 +245,21 @@
       </Docs>
     </Member>
     <Member MemberName="CreateFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileOutputStream CreateFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream CreateFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileOutputStream CreateFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream CreateFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CreateReadwrite">
@@ -306,14 +306,14 @@
       </Docs>
     </Member>
     <Member MemberName="CreateReadwriteFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileIOStream CreateReadwriteFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream CreateReadwriteFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileIOStream CreateReadwriteFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream CreateReadwriteFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileIOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -357,18 +357,18 @@
       </Docs>
     </Member>
     <Member MemberName="Dup">
-      <MemberSignature Language="C#" Value="public GLib.File Dup ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File Dup() cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Dup ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile Dup() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectMountable">
@@ -398,8 +398,8 @@
       </Docs>
     </Member>
     <Member MemberName="EjectMountableFinish">
-      <MemberSignature Language="C#" Value="public bool EjectMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -410,14 +410,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectMountableWithOperation">
@@ -444,14 +444,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectMountableWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectMountableWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectMountableWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -509,39 +509,39 @@
       </Docs>
     </Member>
     <Member MemberName="EnumerateChildrenFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileEnumerator EnumerateChildrenFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileEnumerator EnumerateChildrenFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileEnumerator EnumerateChildrenFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileEnumerator EnumerateChildrenFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileEnumerator</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.File file2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.File file2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IFile file2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IFile file2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file2" Type="GLib.File" />
+        <Parameter Name="file2" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Exists">
@@ -559,11 +559,11 @@
       </Docs>
     </Member>
     <Member MemberName="FindEnclosingMount">
-      <MemberSignature Language="C#" Value="public GLib.Mount FindEnclosingMount (GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Mount FindEnclosingMount(class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IMount FindEnclosingMount (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IMount FindEnclosingMount(class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
@@ -573,7 +573,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="FindEnclosingMountAsync">
@@ -598,29 +598,29 @@
       </Docs>
     </Member>
     <Member MemberName="FindEnclosingMountFinish">
-      <MemberSignature Language="C#" Value="public GLib.Mount FindEnclosingMountFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Mount FindEnclosingMountFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IMount FindEnclosingMountFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IMount FindEnclosingMountFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetChild">
-      <MemberSignature Language="C#" Value="public GLib.File GetChild (string name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File GetChild(string name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile GetChild (string name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile GetChild(string name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="name" Type="System.String" />
@@ -630,15 +630,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetChildForDisplayName">
-      <MemberSignature Language="C#" Value="public GLib.File GetChildForDisplayName (string display_name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File GetChildForDisplayName(string display_name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile GetChildForDisplayName (string display_name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile GetChildForDisplayName(string display_name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="display_name" Type="System.String" />
@@ -648,15 +648,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.File GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -666,15 +666,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.File GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -686,30 +686,44 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRelativePath">
-      <MemberSignature Language="C#" Value="public string GetRelativePath (GLib.File descendant);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetRelativePath(class GLib.File descendant) cil managed" />
+      <MemberSignature Language="C#" Value="public string GetRelativePath (GLib.IFile descendant);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetRelativePath(class GLib.IFile descendant) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="descendant" Type="GLib.File" />
+        <Parameter Name="descendant" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="descendant">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -754,14 +768,14 @@
       </Docs>
     </Member>
     <Member MemberName="HasParent">
-      <MemberSignature Language="C#" Value="public bool HasParent (GLib.File parent);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasParent(class GLib.File parent) cil managed" />
+      <MemberSignature Language="C#" Value="public bool HasParent (GLib.IFile parent);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasParent(class GLib.IFile parent) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="parent" Type="GLib.File" />
+        <Parameter Name="parent" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="parent">To be added.</param>
@@ -772,21 +786,21 @@
       </Docs>
     </Member>
     <Member MemberName="HasPrefix">
-      <MemberSignature Language="C#" Value="public bool HasPrefix (GLib.File prefix);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasPrefix(class GLib.File prefix) cil managed" />
+      <MemberSignature Language="C#" Value="public bool HasPrefix (GLib.IFile prefix);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasPrefix(class GLib.IFile prefix) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="prefix" Type="GLib.File" />
+        <Parameter Name="prefix" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="prefix">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasUriScheme">
@@ -865,14 +879,14 @@
       </Docs>
     </Member>
     <Member MemberName="LoadContentsFinish">
-      <MemberSignature Language="C#" Value="public bool LoadContentsFinish (GLib.AsyncResult res, string contents, out ulong length, string etag_out);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadContentsFinish(class GLib.AsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
+      <MemberSignature Language="C#" Value="public bool LoadContentsFinish (GLib.IAsyncResult res, string contents, out ulong length, string etag_out);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadContentsFinish(class GLib.IAsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="contents" Type="System.String" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
         <Parameter Name="etag_out" Type="System.String" />
@@ -885,7 +899,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadPartialContentsAsync">
@@ -910,14 +924,14 @@
       </Docs>
     </Member>
     <Member MemberName="LoadPartialContentsFinish">
-      <MemberSignature Language="C#" Value="public bool LoadPartialContentsFinish (GLib.AsyncResult res, string contents, out ulong length, string etag_out);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadPartialContentsFinish(class GLib.AsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
+      <MemberSignature Language="C#" Value="public bool LoadPartialContentsFinish (GLib.IAsyncResult res, string contents, out ulong length, string etag_out);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadPartialContentsFinish(class GLib.IAsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="contents" Type="System.String" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
         <Parameter Name="etag_out" Type="System.String" />
@@ -930,7 +944,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MakeDirectory">
@@ -1033,21 +1047,21 @@
       </Docs>
     </Member>
     <Member MemberName="MountEnclosingVolumeFinish">
-      <MemberSignature Language="C#" Value="public bool MountEnclosingVolumeFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountEnclosingVolumeFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool MountEnclosingVolumeFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountEnclosingVolumeFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountMountable">
@@ -1074,32 +1088,32 @@
       </Docs>
     </Member>
     <Member MemberName="MountMountableFinish">
-      <MemberSignature Language="C#" Value="public GLib.File MountMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File MountMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile MountMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile MountMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Move">
-      <MemberSignature Language="C#" Value="public bool Move (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Move(class GLib.File destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Move (GLib.IFile destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Move(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
         <Parameter Name="progress_callback" Type="GLib.FileProgressCallback" />
@@ -1112,7 +1126,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OpenReadwrite">
@@ -1155,14 +1169,14 @@
       </Docs>
     </Member>
     <Member MemberName="OpenReadwriteFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileIOStream OpenReadwriteFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream OpenReadwriteFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileIOStream OpenReadwriteFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream OpenReadwriteFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileIOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -1187,11 +1201,11 @@
       </Docs>
     </Member>
     <Member MemberName="Parent">
-      <MemberSignature Language="C#" Value="public GLib.File Parent { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File Parent" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Parent { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile Parent" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -1215,11 +1229,11 @@
       </Docs>
     </Member>
     <Member MemberName="ParseName">
-      <MemberSignature Language="C#" Value="public static GLib.File ParseName (string parse_name);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File ParseName(string parse_name) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile ParseName (string parse_name);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile ParseName(string parse_name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="parse_name" Type="System.String" />
@@ -1229,7 +1243,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Path">
@@ -1266,14 +1280,14 @@
       </Docs>
     </Member>
     <Member MemberName="PollMountableFinish">
-      <MemberSignature Language="C#" Value="public bool PollMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool PollMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -1284,11 +1298,11 @@
       </Docs>
     </Member>
     <Member MemberName="QueryDefaultHandler">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo QueryDefaultHandler (GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.AppInfo QueryDefaultHandler(class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo QueryDefaultHandler (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IAppInfo QueryDefaultHandler(class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
@@ -1298,7 +1312,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryExists">
@@ -1363,21 +1377,21 @@
       </Docs>
     </Member>
     <Member MemberName="QueryFilesystemInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryFilesystemInfoFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryFilesystemInfoFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryFilesystemInfoFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryFilesystemInfoFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryFileType">
@@ -1448,21 +1462,21 @@
       </Docs>
     </Member>
     <Member MemberName="QueryInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryInfoFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryInfoFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QuerySettableAttributes">
@@ -1541,21 +1555,21 @@
       </Docs>
     </Member>
     <Member MemberName="ReadFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInputStream ReadFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInputStream ReadFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInputStream ReadFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInputStream ReadFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Replace">
@@ -1665,14 +1679,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReplaceContentsFinish">
-      <MemberSignature Language="C#" Value="public bool ReplaceContentsFinish (GLib.AsyncResult res, string new_etag);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ReplaceContentsFinish(class GLib.AsyncResult res, string new_etag) cil managed" />
+      <MemberSignature Language="C#" Value="public bool ReplaceContentsFinish (GLib.IAsyncResult res, string new_etag);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ReplaceContentsFinish(class GLib.IAsyncResult res, string new_etag) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="new_etag" Type="System.String" />
       </Parameters>
       <Docs>
@@ -1681,25 +1695,25 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileOutputStream ReplaceFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream ReplaceFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileOutputStream ReplaceFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream ReplaceFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceReadwrite">
@@ -1754,14 +1768,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReplaceReadwriteFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileIOStream ReplaceReadwriteFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream ReplaceReadwriteFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileIOStream ReplaceReadwriteFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream ReplaceReadwriteFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileIOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -1772,11 +1786,11 @@
       </Docs>
     </Member>
     <Member MemberName="ResolveRelativePath">
-      <MemberSignature Language="C#" Value="public GLib.File ResolveRelativePath (string relative_path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File ResolveRelativePath(string relative_path) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile ResolveRelativePath (string relative_path);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile ResolveRelativePath(string relative_path) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="relative_path" Type="System.String" />
@@ -1786,7 +1800,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttribute">
@@ -1913,14 +1927,14 @@
       </Docs>
     </Member>
     <Member MemberName="SetAttributesFinish">
-      <MemberSignature Language="C#" Value="public bool SetAttributesFinish (GLib.AsyncResult result, GLib.FileInfo info);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAttributesFinish(class GLib.AsyncResult result, class GLib.FileInfo info) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetAttributesFinish (GLib.IAsyncResult result, GLib.FileInfo info);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAttributesFinish(class GLib.IAsyncResult result, class GLib.FileInfo info) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="info" Type="GLib.FileInfo" />
       </Parameters>
       <Docs>
@@ -1929,7 +1943,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributesFromInfo">
@@ -2027,11 +2041,11 @@
       </Docs>
     </Member>
     <Member MemberName="SetDisplayName">
-      <MemberSignature Language="C#" Value="public GLib.File SetDisplayName (string display_name, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File SetDisplayName(string display_name, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile SetDisplayName (string display_name, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile SetDisplayName(string display_name, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="display_name" Type="System.String" />
@@ -2043,7 +2057,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetDisplayNameAsync">
@@ -2070,21 +2084,21 @@
       </Docs>
     </Member>
     <Member MemberName="SetDisplayNameFinish">
-      <MemberSignature Language="C#" Value="public GLib.File SetDisplayNameFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File SetDisplayNameFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile SetDisplayNameFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile SetDisplayNameFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="StartMountable">
@@ -2111,14 +2125,14 @@
       </Docs>
     </Member>
     <Member MemberName="StartMountableFinish">
-      <MemberSignature Language="C#" Value="public bool StartMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StartMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -2152,14 +2166,14 @@
       </Docs>
     </Member>
     <Member MemberName="StopMountableFinish">
-      <MemberSignature Language="C#" Value="public bool StopMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StopMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -2244,8 +2258,8 @@
       </Docs>
     </Member>
     <Member MemberName="UnmountMountableFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -2256,14 +2270,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountMountableWithOperation">
@@ -2290,14 +2304,14 @@
       </Docs>
     </Member>
     <Member MemberName="UnmountMountableWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountMountableWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountMountableWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/FileDescriptorBasedAdapter.xml b/doc/en/GLib/FileDescriptorBasedAdapter.xml
index 71dd487..ed92715 100644
--- a/doc/en/GLib/FileDescriptorBasedAdapter.xml
+++ b/doc/en/GLib/FileDescriptorBasedAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="FileDescriptorBasedAdapter" FullName="GLib.FileDescriptorBasedAdapter">
-  <TypeSignature Language="C#" Value="public class FileDescriptorBasedAdapter : GLib.GInterfaceAdapter, GLib.FileDescriptorBased, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi FileDescriptorBasedAdapter extends GLib.GInterfaceAdapter implements class GLib.FileDescriptorBased, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class FileDescriptorBasedAdapter : GLib.GInterfaceAdapter, GLib.IFileDescriptorBased, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi FileDescriptorBasedAdapter extends GLib.GInterfaceAdapter implements class GLib.IFileDescriptorBased, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.FileDescriptorBased</InterfaceName>
+      <InterfaceName>GLib.IFileDescriptorBased</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public FileDescriptorBasedAdapter (GLib.FileDescriptorBasedImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.FileDescriptorBasedImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public FileDescriptorBasedAdapter (GLib.IFileDescriptorBasedImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IFileDescriptorBasedImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.FileDescriptorBasedImplementor" />
+        <Parameter Name="implementor" Type="GLib.IFileDescriptorBasedImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -75,11 +75,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.FileDescriptorBased GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.FileDescriptorBased GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFileDescriptorBased GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFileDescriptorBased GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.FileDescriptorBased</ReturnType>
+        <ReturnType>GLib.IFileDescriptorBased</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -93,11 +93,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.FileDescriptorBased GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.FileDescriptorBased GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFileDescriptorBased GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFileDescriptorBased GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.FileDescriptorBased</ReturnType>
+        <ReturnType>GLib.IFileDescriptorBased</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -112,9 +112,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -141,11 +155,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.FileDescriptorBasedImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.FileDescriptorBasedImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IFileDescriptorBasedImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFileDescriptorBasedImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.FileDescriptorBasedImplementor</ReturnType>
+        <ReturnType>GLib.IFileDescriptorBasedImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/FileEnumerator.xml b/doc/en/GLib/FileEnumerator.xml
index ac3fc4a..9743d33 100644
--- a/doc/en/GLib/FileEnumerator.xml
+++ b/doc/en/GLib/FileEnumerator.xml
@@ -1,6 +1,6 @@
 <Type Name="FileEnumerator" FullName="GLib.FileEnumerator">
-  <TypeSignature Language="C#" Value="public class FileEnumerator : GLib.Object, System.Collections.IEnumerable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileEnumerator extends GLib.Object implements class System.Collections.IEnumerable" />
+  <TypeSignature Language="C#" Value="public class FileEnumerator : GLib.Object, System.Collections.Generic.IEnumerable<GLib.FileInfo>" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileEnumerator extends GLib.Object implements class System.Collections.Generic.IEnumerable`1<class GLib.FileInfo>, class System.Collections.IEnumerable" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>System.Collections.IEnumerable</InterfaceName>
+      <InterfaceName>System.Collections.Generic.IEnumerable<GLib.FileInfo></InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -83,36 +83,36 @@
       </Docs>
     </Member>
     <Member MemberName="CloseFinish">
-      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetEnumerator">
-      <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.IEnumerator GetEnumerator() cil managed" />
+      <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerator<GLib.FileInfo> GetEnumerator ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1<class GLib.FileInfo> GetEnumerator() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Collections.IEnumerator</ReturnType>
+        <ReturnType>System.Collections.Generic.IEnumerator<GLib.FileInfo></ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -123,9 +123,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileEnumerator" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -214,21 +214,21 @@
       </Docs>
     </Member>
     <Member MemberName="NextFilesFinish">
-      <MemberSignature Language="C#" Value="public GLib.List NextFilesFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List NextFilesFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo[] NextFilesFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo[] NextFilesFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.FileInfo[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnCloseAsync">
@@ -258,8 +258,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnCloseFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -270,14 +270,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnCloseFn">
@@ -355,8 +355,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnNextFilesFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnNextFilesFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnNextFilesFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo[] OnNextFilesFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo[] OnNextFilesFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -364,17 +364,17 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.FileInfo[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Pending">
@@ -391,5 +391,20 @@
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
+    <Member MemberName="System.Collections.IEnumerable.GetEnumerator">
+      <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" />
+      <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Collections.IEnumerator</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
   </Members>
 </Type>
diff --git a/doc/en/GLib/FileFactory.xml b/doc/en/GLib/FileFactory.xml
index c10acf2..a1489fd 100644
--- a/doc/en/GLib/FileFactory.xml
+++ b/doc/en/GLib/FileFactory.xml
@@ -26,11 +26,11 @@
       </Docs>
     </Member>
     <Member MemberName="NewForPath">
-      <MemberSignature Language="C#" Value="public static GLib.File NewForPath (string path);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File NewForPath(string path) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile NewForPath (string path);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile NewForPath(string path) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="path" Type="System.String" />
@@ -40,15 +40,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NewForUri">
-      <MemberSignature Language="C#" Value="public static GLib.File NewForUri (string uri);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File NewForUri(string uri) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile NewForUri (string uri);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile NewForUri(string uri) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uri" Type="System.String" />
@@ -58,15 +58,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NewForUri">
-      <MemberSignature Language="C#" Value="public static GLib.File NewForUri (Uri uri);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File NewForUri(class System.Uri uri) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile NewForUri (Uri uri);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile NewForUri(class System.Uri uri) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uri" Type="System.Uri" />
@@ -76,15 +76,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="NewFromCommandlineArg">
-      <MemberSignature Language="C#" Value="public static GLib.File NewFromCommandlineArg (string arg);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.File NewFromCommandlineArg(string arg) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IFile NewFromCommandlineArg (string arg);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IFile NewFromCommandlineArg(string arg) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="arg" Type="System.String" />
diff --git a/doc/en/GLib/FileIOStream.xml b/doc/en/GLib/FileIOStream.xml
index 9a3fc08..bfb286c 100644
--- a/doc/en/GLib/FileIOStream.xml
+++ b/doc/en/GLib/FileIOStream.xml
@@ -1,6 +1,6 @@
 <Type Name="FileIOStream" FullName="GLib.FileIOStream">
-  <TypeSignature Language="C#" Value="public class FileIOStream : GLib.IOStream, GLib.Seekable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileIOStream extends GLib.IOStream implements class GLib.IWrapper, class GLib.Seekable" />
+  <TypeSignature Language="C#" Value="public class FileIOStream : GLib.IOStream, GLib.ISeekable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileIOStream extends GLib.IOStream implements class GLib.ISeekable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Seekable</InterfaceName>
+      <InterfaceName>GLib.ISeekable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -94,9 +94,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileIOStream" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -214,8 +214,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnQueryInfoFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo OnQueryInfoFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo OnQueryInfoFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo OnQueryInfoFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo OnQueryInfoFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -226,7 +226,7 @@
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -366,14 +366,14 @@
       </Docs>
     </Member>
     <Member MemberName="QueryInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo QueryInfoFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo QueryInfoFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/FileIcon.xml b/doc/en/GLib/FileIcon.xml
index dd5bf2a..113d8bd 100644
--- a/doc/en/GLib/FileIcon.xml
+++ b/doc/en/GLib/FileIcon.xml
@@ -1,6 +1,6 @@
 <Type Name="FileIcon" FullName="GLib.FileIcon">
-  <TypeSignature Language="C#" Value="public class FileIcon : GLib.Object, GLib.Icon, GLib.LoadableIcon" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileIcon extends GLib.Object implements class GLib.Icon, class GLib.IWrapper, class GLib.LoadableIcon" />
+  <TypeSignature Language="C#" Value="public class FileIcon : GLib.Object, GLib.IIcon, GLib.ILoadableIcon" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileIcon extends GLib.Object implements class GLib.IIcon, class GLib.ILoadableIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Icon</InterfaceName>
+      <InterfaceName>GLib.IIcon</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.LoadableIcon</InterfaceName>
+      <InterfaceName>GLib.ILoadableIcon</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -22,17 +22,17 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public FileIcon (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public FileIcon (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IFile file) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -43,33 +43,33 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public GLib.File File { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File File" />
+      <MemberSignature Language="C#" Value="public GLib.IFile File { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile File" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -77,7 +77,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -94,9 +94,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileIcon" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -144,14 +144,14 @@
       </Docs>
     </Member>
     <Member MemberName="LoadFinish">
-      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.AsyncResult res, string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.AsyncResult res, string type) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.IAsyncResult res, string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.IAsyncResult res, string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.InputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="type" Type="System.String" />
       </Parameters>
       <Docs>
@@ -160,7 +160,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ToString">
diff --git a/doc/en/GLib/FileInfo.xml b/doc/en/GLib/FileInfo.xml
index 1f43027..1c32468 100644
--- a/doc/en/GLib/FileInfo.xml
+++ b/doc/en/GLib/FileInfo.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -434,9 +434,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileInfo" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -477,11 +477,11 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/FileInputStream.xml b/doc/en/GLib/FileInputStream.xml
index 7899bb6..1d4d571 100644
--- a/doc/en/GLib/FileInputStream.xml
+++ b/doc/en/GLib/FileInputStream.xml
@@ -1,6 +1,6 @@
 <Type Name="FileInputStream" FullName="GLib.FileInputStream">
-  <TypeSignature Language="C#" Value="public class FileInputStream : GLib.InputStream, GLib.Seekable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileInputStream extends GLib.InputStream implements class GLib.IWrapper, class GLib.Seekable" />
+  <TypeSignature Language="C#" Value="public class FileInputStream : GLib.InputStream, GLib.ISeekable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileInputStream extends GLib.InputStream implements class GLib.ISeekable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Seekable</InterfaceName>
+      <InterfaceName>GLib.ISeekable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -80,9 +80,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileInputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -160,8 +160,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnQueryInfoFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo OnQueryInfoFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo OnQueryInfoFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo OnQueryInfoFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo OnQueryInfoFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -172,14 +172,14 @@
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnSeek">
@@ -287,21 +287,21 @@
       </Docs>
     </Member>
     <Member MemberName="QueryInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo QueryInfoFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo QueryInfoFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Seek">
diff --git a/doc/en/GLib/FileMonitor.xml b/doc/en/GLib/FileMonitor.xml
index 573ebf5..f30ee01 100644
--- a/doc/en/GLib/FileMonitor.xml
+++ b/doc/en/GLib/FileMonitor.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -92,14 +92,14 @@
       </Docs>
     </Member>
     <Member MemberName="Directory">
-      <MemberSignature Language="C#" Value="public static GLib.FileMonitor Directory (GLib.File file, GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.FileMonitor Directory(class GLib.File file, valuetype GLib.FileMonitorFlags flags, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.FileMonitor Directory (GLib.IFile file, GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.FileMonitor Directory(class GLib.IFile file, valuetype GLib.FileMonitorFlags flags, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileMonitor</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileMonitorFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
       </Parameters>
@@ -110,19 +110,19 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EmitEvent">
-      <MemberSignature Language="C#" Value="public void EmitEvent (GLib.File child, GLib.File other_file, GLib.FileMonitorEvent event_type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void EmitEvent(class GLib.File child, class GLib.File other_file, valuetype GLib.FileMonitorEvent event_type) cil managed" />
+      <MemberSignature Language="C#" Value="public void EmitEvent (GLib.IFile child, GLib.IFile other_file, GLib.FileMonitorEvent event_type);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void EmitEvent(class GLib.IFile child, class GLib.IFile other_file, valuetype GLib.FileMonitorEvent event_type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="child" Type="GLib.File" />
-        <Parameter Name="other_file" Type="GLib.File" />
+        <Parameter Name="child" Type="GLib.IFile" />
+        <Parameter Name="other_file" Type="GLib.IFile" />
         <Parameter Name="event_type" Type="GLib.FileMonitorEvent" />
       </Parameters>
       <Docs>
@@ -131,18 +131,18 @@
         <param name="event_type">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public static GLib.FileMonitor File (GLib.File file, GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.FileMonitor File(class GLib.File file, valuetype GLib.FileMonitorFlags flags, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.FileMonitor File (GLib.IFile file, GLib.FileMonitorFlags flags, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.FileMonitor File(class GLib.IFile file, valuetype GLib.FileMonitorFlags flags, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileMonitor</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileMonitorFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
       </Parameters>
@@ -153,7 +153,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -164,9 +164,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileMonitor" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -205,8 +205,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged (GLib.File file, GLib.File other_file, GLib.FileMonitorEvent event_type);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnChanged(class GLib.File file, class GLib.File other_file, valuetype GLib.FileMonitorEvent event_type) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnChanged (GLib.IFile file, GLib.IFile other_file, GLib.FileMonitorEvent event_type);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnChanged(class GLib.IFile file, class GLib.IFile other_file, valuetype GLib.FileMonitorEvent event_type) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -217,17 +217,17 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
-        <Parameter Name="other_file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
+        <Parameter Name="other_file" Type="GLib.IFile" />
         <Parameter Name="event_type" Type="GLib.FileMonitorEvent" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
         <param name="other_file">To be added.</param>
         <param name="event_type">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.FileMonitor.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.FileMonitor.Changed" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RateLimit">
diff --git a/doc/en/GLib/FileOutputStream.xml b/doc/en/GLib/FileOutputStream.xml
index f24beec..bc2de1b 100644
--- a/doc/en/GLib/FileOutputStream.xml
+++ b/doc/en/GLib/FileOutputStream.xml
@@ -1,6 +1,6 @@
 <Type Name="FileOutputStream" FullName="GLib.FileOutputStream">
-  <TypeSignature Language="C#" Value="public class FileOutputStream : GLib.OutputStream, GLib.Seekable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileOutputStream extends GLib.OutputStream implements class GLib.IWrapper, class GLib.Seekable" />
+  <TypeSignature Language="C#" Value="public class FileOutputStream : GLib.OutputStream, GLib.ISeekable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileOutputStream extends GLib.OutputStream implements class GLib.ISeekable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Seekable</InterfaceName>
+      <InterfaceName>GLib.ISeekable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -94,9 +94,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FileOutputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -214,8 +214,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnQueryInfoFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo OnQueryInfoFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo OnQueryInfoFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.FileInfo OnQueryInfoFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.FileInfo OnQueryInfoFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -226,14 +226,14 @@
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnSeek">
@@ -366,21 +366,21 @@
       </Docs>
     </Member>
     <Member MemberName="QueryInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo QueryInfoFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.FileInfo QueryInfoFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Seek">
diff --git a/doc/en/GLib/FilenameCompleter.xml b/doc/en/GLib/FilenameCompleter.xml
index 56c7b0b..75eaf0d 100644
--- a/doc/en/GLib/FilenameCompleter.xml
+++ b/doc/en/GLib/FilenameCompleter.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -115,9 +115,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FilenameCompleter" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -135,8 +135,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.FilenameCompleter.GotCompletionData" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.FilenameCompleter.GotCompletionData" /> event.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/FilterInputStream.xml b/doc/en/GLib/FilterInputStream.xml
index dcf2d46..699c4e1 100644
--- a/doc/en/GLib/FilterInputStream.xml
+++ b/doc/en/GLib/FilterInputStream.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -85,9 +85,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FilterInputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/FilterOutputStream.xml b/doc/en/GLib/FilterOutputStream.xml
index 301dc72..78af90d 100644
--- a/doc/en/GLib/FilterOutputStream.xml
+++ b/doc/en/GLib/FilterOutputStream.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -85,9 +85,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.FilterOutputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/GInterfaceAdapter.xml b/doc/en/GLib/GInterfaceAdapter.xml
index 9d287c8..cf0ac29 100644
--- a/doc/en/GLib/GInterfaceAdapter.xml
+++ b/doc/en/GLib/GInterfaceAdapter.xml
@@ -23,17 +23,18 @@
         <remarks />
       </Docs>
     </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public abstract GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public abstract GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>GType Property.</summary>
-        <value>The native GInterface type value.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Handle">
diff --git a/doc/en/GLib/GLibSynchronizationContext.xml b/doc/en/GLib/GLibSynchronizationContext.xml
new file mode 100644
index 0000000..864c1e5
--- /dev/null
+++ b/doc/en/GLib/GLibSynchronizationContext.xml
@@ -0,0 +1,67 @@
+<Type Name="GLibSynchronizationContext" FullName="GLib.GLibSynchronizationContext">
+  <TypeSignature Language="C#" Value="public class GLibSynchronizationContext : System.Threading.SynchronizationContext" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit GLibSynchronizationContext extends System.Threading.SynchronizationContext" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Threading.SynchronizationContext</BaseTypeName>
+  </Base>
+  <Interfaces />
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public GLibSynchronizationContext ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Post">
+      <MemberSignature Language="C#" Value="public override void Post (System.Threading.SendOrPostCallback d, object state);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Post(class System.Threading.SendOrPostCallback d, object state) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="d" Type="System.Threading.SendOrPostCallback" />
+        <Parameter Name="state" Type="System.Object" />
+      </Parameters>
+      <Docs>
+        <param name="d">To be added.</param>
+        <param name="state">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Send">
+      <MemberSignature Language="C#" Value="public override void Send (System.Threading.SendOrPostCallback d, object state);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Send(class System.Threading.SendOrPostCallback d, object state) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="d" Type="System.Threading.SendOrPostCallback" />
+        <Parameter Name="state" Type="System.Object" />
+      </Parameters>
+      <Docs>
+        <param name="d">To be added.</param>
+        <param name="state">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/GPropertiesChangedArgs.xml b/doc/en/GLib/GPropertiesChangedArgs.xml
index ece526d..69871f3 100644
--- a/doc/en/GLib/GPropertiesChangedArgs.xml
+++ b/doc/en/GLib/GPropertiesChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusProxy.GPropertiesChanged" /> event invokes <see cref="T:GLib.GPropertiesChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.GPropertiesChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.GPropertiesChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/GPropertiesChangedHandler.xml b/doc/en/GLib/GPropertiesChangedHandler.xml
index 18b2a93..6947344 100644
--- a/doc/en/GLib/GPropertiesChangedHandler.xml
+++ b/doc/en/GLib/GPropertiesChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusProxy.GPropertiesChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.GPropertiesChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.GPropertiesChangedHandler" /> to an event, add the GPropertiesChangedHandler instance to the event.  The methods referenced by the GPropertiesChangedHandler instance are invoked whenever the event is raised, until the GPropertiesChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/GSignalArgs.xml b/doc/en/GLib/GSignalArgs.xml
index a21d51a..ded58ae 100644
--- a/doc/en/GLib/GSignalArgs.xml
+++ b/doc/en/GLib/GSignalArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusProxy.GSignal" /> event invokes <see cref="T:GLib.GSignalHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.GSignalArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.GSignalHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/GSignalHandler.xml b/doc/en/GLib/GSignalHandler.xml
index bfd1c30..a5a437d 100644
--- a/doc/en/GLib/GSignalHandler.xml
+++ b/doc/en/GLib/GSignalHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusProxy.GSignal" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.GSignalArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.GSignalHandler" /> to an event, add the GSignalHandler instance to the event.  The methods referenced by the GSignalHandler instance are invoked whenever the event is raised, until the GSignalHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/GioGlobal.xml b/doc/en/GLib/GioGlobal.xml
index 3cc8d38..d4a93db 100644
--- a/doc/en/GLib/GioGlobal.xml
+++ b/doc/en/GLib/GioGlobal.xml
@@ -25,12 +25,12 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="RegistryBackendGetType">
-      <MemberSignature Language="C#" Value="public static GLib.GType RegistryBackendGetType ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.GType RegistryBackendGetType() cil managed" />
+    <Member MemberName="ErrorQuark">
+      <MemberSignature Language="C#" Value="public static int ErrorQuark ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 ErrorQuark() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
+        <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -40,6 +40,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="PollableSourceNew">
+      <MemberSignature Language="C#" Value="public static GLib.Source PollableSourceNew (GLib.Object pollable_stream);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Source PollableSourceNew(class GLib.Object pollable_stream) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="pollable_stream" Type="GLib.Object" />
+      </Parameters>
+      <Docs>
+        <param name="pollable_stream">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="TlsErrorQuark">
       <MemberSignature Language="C#" Value="public static int TlsErrorQuark ();" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 TlsErrorQuark() cil managed" />
diff --git a/doc/en/GLib/Action.xml b/doc/en/GLib/IAction.xml
similarity index 95%
rename from doc/en/GLib/Action.xml
rename to doc/en/GLib/IAction.xml
index 20edf46..6d25cb5 100644
--- a/doc/en/GLib/Action.xml
+++ b/doc/en/GLib/IAction.xml
@@ -1,6 +1,6 @@
-<Type Name="Action" FullName="GLib.Action">
-  <TypeSignature Language="C#" Value="public interface Action : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Action implements class GLib.IWrapper" />
+<Type Name="IAction" FullName="GLib.IAction">
+  <TypeSignature Language="C#" Value="public interface IAction : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAction implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/ActionGroup.xml b/doc/en/GLib/IActionGroup.xml
similarity index 98%
rename from doc/en/GLib/ActionGroup.xml
rename to doc/en/GLib/IActionGroup.xml
index 5782c9c..90f92c9 100644
--- a/doc/en/GLib/ActionGroup.xml
+++ b/doc/en/GLib/IActionGroup.xml
@@ -1,6 +1,6 @@
-<Type Name="ActionGroup" FullName="GLib.ActionGroup">
-  <TypeSignature Language="C#" Value="public interface ActionGroup : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ActionGroup implements class GLib.IWrapper" />
+<Type Name="IActionGroup" FullName="GLib.IActionGroup">
+  <TypeSignature Language="C#" Value="public interface IActionGroup : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IActionGroup implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/ActionGroupImplementor.xml b/doc/en/GLib/IActionGroupImplementor.xml
similarity index 96%
rename from doc/en/GLib/ActionGroupImplementor.xml
rename to doc/en/GLib/IActionGroupImplementor.xml
index e15db2b..6c1dfdc 100644
--- a/doc/en/GLib/ActionGroupImplementor.xml
+++ b/doc/en/GLib/IActionGroupImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ActionGroupImplementor" FullName="GLib.ActionGroupImplementor">
-  <TypeSignature Language="C#" Value="public interface ActionGroupImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ActionGroupImplementor implements class GLib.IWrapper" />
+<Type Name="IActionGroupImplementor" FullName="GLib.IActionGroupImplementor">
+  <TypeSignature Language="C#" Value="public interface IActionGroupImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IActionGroupImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/ActionImplementor.xml b/doc/en/GLib/IActionImplementor.xml
similarity index 95%
rename from doc/en/GLib/ActionImplementor.xml
rename to doc/en/GLib/IActionImplementor.xml
index 2ca1dc3..428b770 100644
--- a/doc/en/GLib/ActionImplementor.xml
+++ b/doc/en/GLib/IActionImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ActionImplementor" FullName="GLib.ActionImplementor">
-  <TypeSignature Language="C#" Value="public interface ActionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ActionImplementor implements class GLib.IWrapper" />
+<Type Name="IActionImplementor" FullName="GLib.IActionImplementor">
+  <TypeSignature Language="C#" Value="public interface IActionImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IActionImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/AppInfo.xml b/doc/en/GLib/IAppInfo.xml
similarity index 57%
rename from doc/en/GLib/AppInfo.xml
rename to doc/en/GLib/IAppInfo.xml
index 9083d16..edb77b1 100644
--- a/doc/en/GLib/AppInfo.xml
+++ b/doc/en/GLib/IAppInfo.xml
@@ -1,6 +1,6 @@
-<Type Name="AppInfo" FullName="GLib.AppInfo">
-  <TypeSignature Language="C#" Value="public interface AppInfo : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AppInfo implements class GLib.IWrapper" />
+<Type Name="IAppInfo" FullName="GLib.IAppInfo">
+  <TypeSignature Language="C#" Value="public interface IAppInfo : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAppInfo implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -10,22 +10,9 @@
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>This interface provides application information. See <see cref="T:GLib.DesktopAppInfo" /> and <see cref="T:GLib.AppInfoAdapter" /> for concretes implementations and usage.</summary>
-    <remarks>The following code sample lists all the application installed on your system:
-
-<example><code lang="C#">
-public class TestAppInfo
-{
-    static void Main (string[] args)
-    {
-        GLib.GType.Init ();
-
-        foreach (AppInfo appinfo in AppInfoAdapter.All)
-            Console.WriteLine ("\t{0}: {1}, {2} ", appinfo.Name, appinfo.Descritpion, appinfo.Executable);
-    }
-}
-  </code></example></remarks>
-    <since version="Gtk# 2.14" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddSupportsType">
@@ -40,15 +27,10 @@ public class TestAppInfo
       </Parameters>
       <Docs>
         <param name="content_type">To be added.</param>
-        <summary>Adds a content type to the application.</summary>
-        <returns>Always returns True. Throw a <see cref="T:GLib.GException" /> if something went wrong.</returns>
-        <remarks>
-          <para>Adds a content type to the application information to indicate the application is capable of opening files with the given content type.</para>
-          <para>
-This method always returns True, or throw a <see cref="T:GLib.GException" /> if something went wrong.
-</para>
-        </remarks>
-        <since version="Gtk# 2.14" />
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanDelete">
@@ -74,10 +56,10 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>If a supported content type can be removed from an application.</summary>
-        <value>True if it is possible to remove supported content types from the application, False if not.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Commandline">
@@ -117,20 +99,10 @@ This method always returns True, or throw a <see cref="T:GLib.GException" /> if
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>An human-readable description of an installed application.</summary>
-        <value>A string containing a description of the application, or null if none.</value>
-        <remarks>The following code snippet:
-
-<example><code lang="C#">
-AppInfo app_info = AppInfoAdapter.GetDefaultForType ("image/jpeg", false);
-Console.WriteLine ("{0}:\t{1}", app_info.Name, app_info.Description);
-  </code></example>
-produces the following output (depending on your installation): 
-
-<para>
-Eye of Gnome:	Browse and rotate images
-</para></remarks>
-        <since version="Gtk# 2.14" />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DisplayName">
@@ -148,36 +120,36 @@ Eye of Gnome:	Browse and rotate images
       </Docs>
     </Member>
     <Member MemberName="Dup">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo Dup ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.AppInfo Dup() cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo Dup ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IAppInfo Dup() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.AppInfo appinfo2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.AppInfo appinfo2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IAppInfo appinfo2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IAppInfo appinfo2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="appinfo2" Type="GLib.AppInfo" />
+        <Parameter Name="appinfo2" Type="GLib.IAppInfo" />
       </Parameters>
       <Docs>
         <param name="appinfo2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Executable">
@@ -188,24 +160,24 @@ Eye of Gnome:	Browse and rotate images
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>The executable's name for the installed application.</summary>
-        <value>A string containing the AppInfo's application binary's name.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>The <see cref="T:GLib.Icon" /> for the application.</summary>
-        <value>The default <see cref="T:GLib.Icon" /> for the application.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Id">
@@ -216,10 +188,10 @@ Eye of Gnome:	Browse and rotate images
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>The ID of an application.</summary>
-        <value>A string containing the application's ID.</value>
-        <remarks>An id si s a string that identifies the application. The exact format of the id is platform depenedent. For instance, on Unix, this is the desktop file id from the xdg menu specification.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Launch">
@@ -234,17 +206,12 @@ Eye of Gnome:	Browse and rotate images
         <Parameter Name="launch_context" Type="GLib.AppLaunchContext" />
       </Parameters>
       <Docs>
-        <param name="files">A <see cref="T:GLib.List" /> of <see cref="T:GLib.File" /> objects, or null to launch the application without arguments.</param>
-        <param name="launch_context">An <see cref="T:GLib.AppLauchContext" />, or null.</param>
-        <summary>Launches the application.</summary>
-        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
-        <remarks>
-          <para>Launches the application. Passes files to the launched application as arguments, using the optional launch_context to get information about the details of the launcher (like what screen it is on). Throws a <see cref="T:GLib.GException" /> on error.</para>
-          <para>To lauch the application without arguments pass a null files list.</para>
-          <para>Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this.</para>
-          <para>Some URIs can be changed when passed through a GFile (for instance unsupported uris with strange formats like mailto:), so if you have a textual uri you want to pass in as argument, consider using <see cref="M:GLib.AppInfo.LaunchUris" /> instead.</para>
-        </remarks>
-        <since version="Gtk# 2.14" />
+        <param name="files">To be added.</param>
+        <param name="launch_context">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LaunchUris">
@@ -259,16 +226,12 @@ Eye of Gnome:	Browse and rotate images
         <Parameter Name="launch_context" Type="GLib.AppLaunchContext" />
       </Parameters>
       <Docs>
-        <param name="uris">A <see cref="T:GLib.List" /> of <see cref="T:System.String" /> containing URIs to launch, or null.</param>
-        <param name="launch_context">A <see cref="T:GLib.AppLaunchContext" />, or null.</param>
-        <summary>Launches the application.</summary>
-        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
-        <remarks>
-          <para>Launches the application. Passes uris to the launched application as arguments, using the optional launch_context to get information about the details of the launcher (like what screen it is on). On error, throws a <see cref="T:GLib.GException" /></para>
-          <para>To lauch the application without arguments pass a NULL uris list.</para>
-          <para>Note that even if the launch is successful the application launched can fail to start if it runs into problems during startup. There is no way to detect this.</para>
-        </remarks>
-        <since version="Gtk# 2.14" />
+        <param name="uris">To be added.</param>
+        <param name="launch_context">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Name">
@@ -279,10 +242,10 @@ Eye of Gnome:	Browse and rotate images
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>The name of the installed application.</summary>
-        <value>A <see cref="T:System.String" /> containing the name of the application.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveSupportsType">
@@ -296,11 +259,11 @@ Eye of Gnome:	Browse and rotate images
         <Parameter Name="content_type" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="content_type">A <see cref="T:System.String" /> containing a content type. On Unix, content types are mimetypes, so "image/jpeg" is a valid content type.</param>
-        <summary>Removes a supported type from an application, if possible.</summary>
-        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
-        <remarks>This method always returns True, but throws on any error. Checking <see cref="M:GLib.AppInfo.CanRemoveSupportsType" /> first will avoid some exceptions, but that doesn't mean it won't throw at all.</remarks>
-        <since version="Gtk# 2.14" />
+        <param name="content_type">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAsDefaultForExtension">
@@ -314,11 +277,11 @@ Eye of Gnome:	Browse and rotate images
         <Parameter Name="extension" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="extension">A <see cref="T:System.String" /> containing the file extension (without the dot).</param>
-        <summary>Sets the application as the default handler for the given file extension.</summary>
-        <returns>Always returns True. Throws a <see cref="T:GLib.GException" /> if something went wrong.</returns>
-        <remarks>This method always returns True, or throw a <see cref="T:GLib.GException" /> if something went wrong.</remarks>
-        <since version="Gtk# 2.14" />
+        <param name="extension">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAsDefaultForType">
@@ -332,11 +295,11 @@ Eye of Gnome:	Browse and rotate images
         <Parameter Name="content_type" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="content_type">A <see cref="T:System.String" /> containing the content type.</param>
-        <summary>Sets the application as the default handler for a given type.</summary>
-        <returns>Always returns True. Throws a <see cref="T:Glib.GException" /> if something went wrong.</returns>
-        <remarks>This method always returns True, or throw a <see cref="T:GLib.GException" /> if something went wrong.</remarks>
-        <since version="Gtk# 2.14" />
+        <param name="content_type">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAsLastUsedForType">
@@ -365,10 +328,10 @@ Eye of Gnome:	Browse and rotate images
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>If the application info should be shown in menus that list available applications.</summary>
-        <value>True if the application should be shown, False otherwise.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SupportsFiles">
@@ -379,10 +342,10 @@ Eye of Gnome:	Browse and rotate images
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>If the application accepts files as arguments.</summary>
-        <value>True if the application supports files.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SupportsUris">
@@ -393,10 +356,10 @@ Eye of Gnome:	Browse and rotate images
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>If the application supports reading files and directories from URIs.</summary>
-        <value>True if the application supports URIs.</value>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/AsyncInitable.xml b/doc/en/GLib/IAsyncInitable.xml
similarity index 83%
rename from doc/en/GLib/AsyncInitable.xml
rename to doc/en/GLib/IAsyncInitable.xml
index acd6fb9..536018a 100644
--- a/doc/en/GLib/AsyncInitable.xml
+++ b/doc/en/GLib/IAsyncInitable.xml
@@ -1,6 +1,6 @@
-<Type Name="AsyncInitable" FullName="GLib.AsyncInitable">
-  <TypeSignature Language="C#" Value="public interface AsyncInitable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AsyncInitable implements class GLib.IWrapper" />
+<Type Name="IAsyncInitable" FullName="GLib.IAsyncInitable">
+  <TypeSignature Language="C#" Value="public interface IAsyncInitable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAsyncInitable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -37,14 +37,14 @@
       </Docs>
     </Member>
     <Member MemberName="InitFinish">
-      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
diff --git a/doc/en/GLib/AsyncInitableImplementor.xml b/doc/en/GLib/IAsyncInitableImplementor.xml
similarity index 83%
rename from doc/en/GLib/AsyncInitableImplementor.xml
rename to doc/en/GLib/IAsyncInitableImplementor.xml
index da3f18c..91ec75a 100644
--- a/doc/en/GLib/AsyncInitableImplementor.xml
+++ b/doc/en/GLib/IAsyncInitableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="AsyncInitableImplementor" FullName="GLib.AsyncInitableImplementor">
-  <TypeSignature Language="C#" Value="public interface AsyncInitableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AsyncInitableImplementor implements class GLib.IWrapper" />
+<Type Name="IAsyncInitableImplementor" FullName="GLib.IAsyncInitableImplementor">
+  <TypeSignature Language="C#" Value="public interface IAsyncInitableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAsyncInitableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -42,14 +42,14 @@
       </Docs>
     </Member>
     <Member MemberName="InitFinish">
-      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool InitFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool InitFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
diff --git a/doc/en/GLib/AsyncResult.xml b/doc/en/GLib/IAsyncResult.xml
similarity index 81%
rename from doc/en/GLib/AsyncResult.xml
rename to doc/en/GLib/IAsyncResult.xml
index 037f650..bb9b773 100644
--- a/doc/en/GLib/AsyncResult.xml
+++ b/doc/en/GLib/IAsyncResult.xml
@@ -1,6 +1,6 @@
-<Type Name="AsyncResult" FullName="GLib.AsyncResult">
-  <TypeSignature Language="C#" Value="public interface AsyncResult : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AsyncResult implements class GLib.IWrapper" />
+<Type Name="IAsyncResult" FullName="GLib.IAsyncResult">
+  <TypeSignature Language="C#" Value="public interface IAsyncResult : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAsyncResult implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="SourceObject">
@@ -26,7 +26,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UserData">
@@ -40,7 +40,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/AsyncResultImplementor.xml b/doc/en/GLib/IAsyncResultImplementor.xml
similarity index 80%
rename from doc/en/GLib/AsyncResultImplementor.xml
rename to doc/en/GLib/IAsyncResultImplementor.xml
index 213d2a8..cbfbc5a 100644
--- a/doc/en/GLib/AsyncResultImplementor.xml
+++ b/doc/en/GLib/IAsyncResultImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="AsyncResultImplementor" FullName="GLib.AsyncResultImplementor">
-  <TypeSignature Language="C#" Value="public interface AsyncResultImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AsyncResultImplementor implements class GLib.IWrapper" />
+<Type Name="IAsyncResultImplementor" FullName="GLib.IAsyncResultImplementor">
+  <TypeSignature Language="C#" Value="public interface IAsyncResultImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAsyncResultImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -17,7 +17,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="SourceObject">
@@ -31,7 +31,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UserData">
@@ -45,7 +45,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/Converter.xml b/doc/en/GLib/IConverter.xml
similarity index 93%
rename from doc/en/GLib/Converter.xml
rename to doc/en/GLib/IConverter.xml
index 7c06faf..6726a64 100644
--- a/doc/en/GLib/Converter.xml
+++ b/doc/en/GLib/IConverter.xml
@@ -1,6 +1,6 @@
-<Type Name="Converter" FullName="GLib.Converter">
-  <TypeSignature Language="C#" Value="public interface Converter : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Converter implements class GLib.IWrapper" />
+<Type Name="IConverter" FullName="GLib.IConverter">
+  <TypeSignature Language="C#" Value="public interface IConverter : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IConverter implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/ConverterImplementor.xml b/doc/en/GLib/IConverterImplementor.xml
similarity index 92%
rename from doc/en/GLib/ConverterImplementor.xml
rename to doc/en/GLib/IConverterImplementor.xml
index be0e284..1b6fbef 100644
--- a/doc/en/GLib/ConverterImplementor.xml
+++ b/doc/en/GLib/IConverterImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ConverterImplementor" FullName="GLib.ConverterImplementor">
-  <TypeSignature Language="C#" Value="public interface ConverterImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ConverterImplementor implements class GLib.IWrapper" />
+<Type Name="IConverterImplementor" FullName="GLib.IConverterImplementor">
+  <TypeSignature Language="C#" Value="public interface IConverterImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IConverterImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/Drive.xml b/doc/en/GLib/IDrive.xml
similarity index 90%
rename from doc/en/GLib/Drive.xml
rename to doc/en/GLib/IDrive.xml
index e23a34e..55be9fb 100644
--- a/doc/en/GLib/Drive.xml
+++ b/doc/en/GLib/IDrive.xml
@@ -1,6 +1,6 @@
-<Type Name="Drive" FullName="GLib.Drive">
-  <TypeSignature Language="C#" Value="public interface Drive : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Drive implements class GLib.IWrapper" />
+<Type Name="IDrive" FullName="GLib.IDrive">
+  <TypeSignature Language="C#" Value="public interface IDrive : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IDrive implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="CanEject">
@@ -27,7 +27,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanPollForMedia">
@@ -42,7 +42,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanStart">
@@ -100,7 +100,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Disconnected">
@@ -113,7 +113,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Eject">
@@ -134,7 +134,7 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectButton">
@@ -147,25 +147,25 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectFinish">
-      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperation">
@@ -192,14 +192,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -221,7 +221,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIdentifier">
@@ -239,7 +239,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasMedia">
@@ -253,7 +253,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasVolumes">
@@ -267,21 +267,21 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsMediaCheckAutomatic">
@@ -295,7 +295,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsMediaRemovable">
@@ -309,7 +309,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Name">
@@ -323,7 +323,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PollForMedia">
@@ -342,25 +342,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PollForMediaFinish">
-      <MemberSignature Language="C#" Value="public bool PollForMediaFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollForMediaFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool PollForMediaFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollForMediaFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Start">
@@ -387,14 +387,14 @@
       </Docs>
     </Member>
     <Member MemberName="StartFinish">
-      <MemberSignature Language="C#" Value="public bool StartFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StartFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -455,14 +455,14 @@
       </Docs>
     </Member>
     <Member MemberName="StopFinish">
-      <MemberSignature Language="C#" Value="public bool StopFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StopFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -473,17 +473,17 @@
       </Docs>
     </Member>
     <Member MemberName="Volumes">
-      <MemberSignature Language="C#" Value="public GLib.List Volumes { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List Volumes" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume[] Volumes { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume[] Volumes" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IVolume[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/File.xml b/doc/en/GLib/IFile.xml
similarity index 88%
rename from doc/en/GLib/File.xml
rename to doc/en/GLib/IFile.xml
index c501a93..ae59723 100644
--- a/doc/en/GLib/File.xml
+++ b/doc/en/GLib/IFile.xml
@@ -1,6 +1,6 @@
-<Type Name="File" FullName="GLib.File">
-  <TypeSignature Language="C#" Value="public interface File : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract File implements class GLib.IWrapper" />
+<Type Name="IFile" FullName="GLib.IFile">
+  <TypeSignature Language="C#" Value="public interface IFile : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFile implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AppendTo">
@@ -32,7 +32,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AppendToAsync">
@@ -55,25 +55,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AppendToFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileOutputStream AppendToFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream AppendToFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileOutputStream AppendToFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream AppendToFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Basename">
@@ -87,18 +87,18 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="public bool Copy (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Copy(class GLib.File destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Copy (GLib.IFile destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Copy(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
         <Parameter Name="progress_callback" Type="GLib.FileProgressCallback" />
@@ -111,18 +111,18 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyAsync">
-      <MemberSignature Language="C#" Value="public void CopyAsync (GLib.File destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyAsync(class GLib.File destination, valuetype GLib.FileCopyFlags flags, int32 io_priority, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback, class GLib.AsyncReadyCallback cb) cil managed" />
+      <MemberSignature Language="C#" Value="public void CopyAsync (GLib.IFile destination, GLib.FileCopyFlags flags, int io_priority, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback, GLib.AsyncReadyCallback cb);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyAsync(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, int32 io_priority, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback, class GLib.AsyncReadyCallback cb) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="io_priority" Type="System.Int32" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
@@ -138,18 +138,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyAttributes">
-      <MemberSignature Language="C#" Value="public bool CopyAttributes (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyAttributes(class GLib.File destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CopyAttributes (GLib.IFile destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyAttributes(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
       </Parameters>
@@ -160,25 +160,25 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyFinish">
-      <MemberSignature Language="C#" Value="public bool CopyFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CopyFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CopyFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Create">
@@ -198,7 +198,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CreateAsync">
@@ -221,25 +221,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CreateFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileOutputStream CreateFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream CreateFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileOutputStream CreateFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream CreateFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CreateReadwrite">
@@ -286,14 +286,14 @@
       </Docs>
     </Member>
     <Member MemberName="CreateReadwriteFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileIOStream CreateReadwriteFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream CreateReadwriteFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileIOStream CreateReadwriteFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream CreateReadwriteFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileIOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -315,7 +315,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Delete">
@@ -333,22 +333,22 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Dup">
-      <MemberSignature Language="C#" Value="public GLib.File Dup ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File Dup() cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Dup ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile Dup() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectMountable">
@@ -369,25 +369,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectMountableFinish">
-      <MemberSignature Language="C#" Value="public bool EjectMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectMountableWithOperation">
@@ -414,14 +414,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectMountableWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectMountableWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectMountableWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectMountableWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -450,7 +450,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EnumerateChildrenAsync">
@@ -475,43 +475,43 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EnumerateChildrenFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileEnumerator EnumerateChildrenFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileEnumerator EnumerateChildrenFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileEnumerator EnumerateChildrenFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileEnumerator EnumerateChildrenFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileEnumerator</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.File file2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.File file2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IFile file2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IFile file2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file2" Type="GLib.File" />
+        <Parameter Name="file2" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Exists">
@@ -525,15 +525,15 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="FindEnclosingMount">
-      <MemberSignature Language="C#" Value="public GLib.Mount FindEnclosingMount (GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Mount FindEnclosingMount(class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IMount FindEnclosingMount (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IMount FindEnclosingMount(class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
@@ -543,7 +543,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="FindEnclosingMountAsync">
@@ -564,33 +564,33 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="FindEnclosingMountFinish">
-      <MemberSignature Language="C#" Value="public GLib.Mount FindEnclosingMountFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Mount FindEnclosingMountFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IMount FindEnclosingMountFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IMount FindEnclosingMountFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetChild">
-      <MemberSignature Language="C#" Value="public GLib.File GetChild (string name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File GetChild(string name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile GetChild (string name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile GetChild(string name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="name" Type="System.String" />
@@ -600,15 +600,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetChildForDisplayName">
-      <MemberSignature Language="C#" Value="public GLib.File GetChildForDisplayName (string display_name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File GetChildForDisplayName(string display_name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile GetChildForDisplayName (string display_name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile GetChildForDisplayName(string display_name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="display_name" Type="System.String" />
@@ -618,36 +618,36 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetRelativePath">
-      <MemberSignature Language="C#" Value="public string GetRelativePath (GLib.File descendant);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetRelativePath(class GLib.File descendant) cil managed" />
+      <MemberSignature Language="C#" Value="public string GetRelativePath (GLib.IFile descendant);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetRelativePath(class GLib.IFile descendant) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="descendant" Type="GLib.File" />
+        <Parameter Name="descendant" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="descendant">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasParent">
-      <MemberSignature Language="C#" Value="public bool HasParent (GLib.File parent);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasParent(class GLib.File parent) cil managed" />
+      <MemberSignature Language="C#" Value="public bool HasParent (GLib.IFile parent);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasParent(class GLib.IFile parent) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="parent" Type="GLib.File" />
+        <Parameter Name="parent" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="parent">To be added.</param>
@@ -658,21 +658,21 @@
       </Docs>
     </Member>
     <Member MemberName="HasPrefix">
-      <MemberSignature Language="C#" Value="public bool HasPrefix (GLib.File prefix);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasPrefix(class GLib.File prefix) cil managed" />
+      <MemberSignature Language="C#" Value="public bool HasPrefix (GLib.IFile prefix);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool HasPrefix(class GLib.IFile prefix) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="prefix" Type="GLib.File" />
+        <Parameter Name="prefix" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="prefix">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasUriScheme">
@@ -690,7 +690,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsNative">
@@ -704,7 +704,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadContents">
@@ -728,7 +728,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadContentsAsync">
@@ -747,18 +747,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadContentsFinish">
-      <MemberSignature Language="C#" Value="public bool LoadContentsFinish (GLib.AsyncResult res, string contents, out ulong length, string etag_out);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadContentsFinish(class GLib.AsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
+      <MemberSignature Language="C#" Value="public bool LoadContentsFinish (GLib.IAsyncResult res, string contents, out ulong length, string etag_out);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadContentsFinish(class GLib.IAsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="contents" Type="System.String" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
         <Parameter Name="etag_out" Type="System.String" />
@@ -771,7 +771,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadPartialContentsAsync">
@@ -792,18 +792,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadPartialContentsFinish">
-      <MemberSignature Language="C#" Value="public bool LoadPartialContentsFinish (GLib.AsyncResult res, string contents, out ulong length, string etag_out);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadPartialContentsFinish(class GLib.AsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
+      <MemberSignature Language="C#" Value="public bool LoadPartialContentsFinish (GLib.IAsyncResult res, string contents, out ulong length, string etag_out);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool LoadPartialContentsFinish(class GLib.IAsyncResult res, string contents, unsigned int64 length, string etag_out) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="contents" Type="System.String" />
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
         <Parameter Name="etag_out" Type="System.String" />
@@ -816,7 +816,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MakeDirectory">
@@ -834,7 +834,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MakeDirectoryWithParents">
@@ -852,7 +852,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MakeSymbolicLink">
@@ -872,7 +872,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Monitor">
@@ -892,7 +892,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountEnclosingVolume">
@@ -915,25 +915,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountEnclosingVolumeFinish">
-      <MemberSignature Language="C#" Value="public bool MountEnclosingVolumeFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountEnclosingVolumeFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool MountEnclosingVolumeFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountEnclosingVolumeFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountMountable">
@@ -956,36 +956,36 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountMountableFinish">
-      <MemberSignature Language="C#" Value="public GLib.File MountMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File MountMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile MountMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile MountMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Move">
-      <MemberSignature Language="C#" Value="public bool Move (GLib.File destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Move(class GLib.File destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Move (GLib.IFile destination, GLib.FileCopyFlags flags, GLib.Cancellable cancellable, GLib.FileProgressCallback progress_callback);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Move(class GLib.IFile destination, valuetype GLib.FileCopyFlags flags, class GLib.Cancellable cancellable, class GLib.FileProgressCallback progress_callback) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="destination" Type="GLib.File" />
+        <Parameter Name="destination" Type="GLib.IFile" />
         <Parameter Name="flags" Type="GLib.FileCopyFlags" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
         <Parameter Name="progress_callback" Type="GLib.FileProgressCallback" />
@@ -998,7 +998,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OpenReadwrite">
@@ -1041,14 +1041,14 @@
       </Docs>
     </Member>
     <Member MemberName="OpenReadwriteFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileIOStream OpenReadwriteFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream OpenReadwriteFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileIOStream OpenReadwriteFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream OpenReadwriteFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileIOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -1059,17 +1059,17 @@
       </Docs>
     </Member>
     <Member MemberName="Parent">
-      <MemberSignature Language="C#" Value="public GLib.File Parent { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File Parent" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Parent { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile Parent" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ParsedName">
@@ -1083,7 +1083,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Path">
@@ -1097,7 +1097,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PollMountable">
@@ -1120,14 +1120,14 @@
       </Docs>
     </Member>
     <Member MemberName="PollMountableFinish">
-      <MemberSignature Language="C#" Value="public bool PollMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool PollMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool PollMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -1138,11 +1138,11 @@
       </Docs>
     </Member>
     <Member MemberName="QueryDefaultHandler">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo QueryDefaultHandler (GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.AppInfo QueryDefaultHandler(class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo QueryDefaultHandler (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IAppInfo QueryDefaultHandler(class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
@@ -1152,7 +1152,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryExists">
@@ -1170,7 +1170,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryFilesystemInfo">
@@ -1190,7 +1190,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryFilesystemInfoAsync">
@@ -1213,25 +1213,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryFilesystemInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryFilesystemInfoFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryFilesystemInfoFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryFilesystemInfoFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryFilesystemInfoFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryFileType">
@@ -1251,7 +1251,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryInfo">
@@ -1273,7 +1273,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryInfoAsync">
@@ -1298,25 +1298,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryInfoFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryInfoFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInfo QueryInfoFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInfo QueryInfoFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QuerySettableAttributes">
@@ -1334,7 +1334,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="QueryWritableNamespaces">
@@ -1352,7 +1352,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Read">
@@ -1370,7 +1370,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReadAsync">
@@ -1391,25 +1391,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReadFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileInputStream ReadFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInputStream ReadFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileInputStream ReadFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileInputStream ReadFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileInputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Replace">
@@ -1433,7 +1433,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceAsync">
@@ -1460,7 +1460,7 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceContents">
@@ -1488,7 +1488,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceContentsAsync">
@@ -1515,18 +1515,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceContentsFinish">
-      <MemberSignature Language="C#" Value="public bool ReplaceContentsFinish (GLib.AsyncResult res, string new_etag);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ReplaceContentsFinish(class GLib.AsyncResult res, string new_etag) cil managed" />
+      <MemberSignature Language="C#" Value="public bool ReplaceContentsFinish (GLib.IAsyncResult res, string new_etag);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ReplaceContentsFinish(class GLib.IAsyncResult res, string new_etag) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="new_etag" Type="System.String" />
       </Parameters>
       <Docs>
@@ -1535,25 +1535,25 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileOutputStream ReplaceFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream ReplaceFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileOutputStream ReplaceFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileOutputStream ReplaceFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ReplaceReadwrite">
@@ -1608,14 +1608,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReplaceReadwriteFinish">
-      <MemberSignature Language="C#" Value="public GLib.FileIOStream ReplaceReadwriteFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream ReplaceReadwriteFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.FileIOStream ReplaceReadwriteFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.FileIOStream ReplaceReadwriteFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.FileIOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
@@ -1626,11 +1626,11 @@
       </Docs>
     </Member>
     <Member MemberName="ResolveRelativePath">
-      <MemberSignature Language="C#" Value="public GLib.File ResolveRelativePath (string relative_path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File ResolveRelativePath(string relative_path) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile ResolveRelativePath (string relative_path);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile ResolveRelativePath(string relative_path) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="relative_path" Type="System.String" />
@@ -1640,7 +1640,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttribute">
@@ -1666,7 +1666,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeByteString">
@@ -1690,7 +1690,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeInt32">
@@ -1714,7 +1714,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeInt64">
@@ -1738,7 +1738,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributesAsync">
@@ -1763,18 +1763,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributesFinish">
-      <MemberSignature Language="C#" Value="public bool SetAttributesFinish (GLib.AsyncResult result, GLib.FileInfo info);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAttributesFinish(class GLib.AsyncResult result, class GLib.FileInfo info) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetAttributesFinish (GLib.IAsyncResult result, GLib.FileInfo info);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetAttributesFinish(class GLib.IAsyncResult result, class GLib.FileInfo info) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="info" Type="GLib.FileInfo" />
       </Parameters>
       <Docs>
@@ -1783,7 +1783,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributesFromInfo">
@@ -1805,7 +1805,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeString">
@@ -1829,7 +1829,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeUint32">
@@ -1853,7 +1853,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributeUint64">
@@ -1877,15 +1877,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetDisplayName">
-      <MemberSignature Language="C#" Value="public GLib.File SetDisplayName (string display_name, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File SetDisplayName(string display_name, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile SetDisplayName (string display_name, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile SetDisplayName(string display_name, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="display_name" Type="System.String" />
@@ -1897,7 +1897,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetDisplayNameAsync">
@@ -1920,25 +1920,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetDisplayNameFinish">
-      <MemberSignature Language="C#" Value="public GLib.File SetDisplayNameFinish (GLib.AsyncResult res);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.File SetDisplayNameFinish(class GLib.AsyncResult res) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile SetDisplayNameFinish (GLib.IAsyncResult res);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IFile SetDisplayNameFinish(class GLib.IAsyncResult res) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="res">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="StartMountable">
@@ -1965,14 +1965,14 @@
       </Docs>
     </Member>
     <Member MemberName="StartMountableFinish">
-      <MemberSignature Language="C#" Value="public bool StartMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StartMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StartMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -2006,14 +2006,14 @@
       </Docs>
     </Member>
     <Member MemberName="StopMountableFinish">
-      <MemberSignature Language="C#" Value="public bool StopMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool StopMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool StopMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -2053,7 +2053,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountMountable">
@@ -2074,25 +2074,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountMountableFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountMountableFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountMountableFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountMountableWithOperation">
@@ -2119,14 +2119,14 @@
       </Docs>
     </Member>
     <Member MemberName="UnmountMountableWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountMountableWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountMountableWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountMountableWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -2147,7 +2147,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UriScheme">
@@ -2161,7 +2161,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/FileDescriptorBased.xml b/doc/en/GLib/IFileDescriptorBased.xml
similarity index 78%
rename from doc/en/GLib/FileDescriptorBased.xml
rename to doc/en/GLib/IFileDescriptorBased.xml
index 1195bb7..195c2e2 100644
--- a/doc/en/GLib/FileDescriptorBased.xml
+++ b/doc/en/GLib/IFileDescriptorBased.xml
@@ -1,6 +1,6 @@
-<Type Name="FileDescriptorBased" FullName="GLib.FileDescriptorBased">
-  <TypeSignature Language="C#" Value="public interface FileDescriptorBased : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract FileDescriptorBased implements class GLib.IWrapper" />
+<Type Name="IFileDescriptorBased" FullName="GLib.IFileDescriptorBased">
+  <TypeSignature Language="C#" Value="public interface IFileDescriptorBased : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFileDescriptorBased implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/FileDescriptorBasedImplementor.xml b/doc/en/GLib/IFileDescriptorBasedImplementor.xml
similarity index 78%
rename from doc/en/GLib/FileDescriptorBasedImplementor.xml
rename to doc/en/GLib/IFileDescriptorBasedImplementor.xml
index f77a5a0..c5c9ef9 100644
--- a/doc/en/GLib/FileDescriptorBasedImplementor.xml
+++ b/doc/en/GLib/IFileDescriptorBasedImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="FileDescriptorBasedImplementor" FullName="GLib.FileDescriptorBasedImplementor">
-  <TypeSignature Language="C#" Value="public interface FileDescriptorBasedImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract FileDescriptorBasedImplementor implements class GLib.IWrapper" />
+<Type Name="IFileDescriptorBasedImplementor" FullName="GLib.IFileDescriptorBasedImplementor">
+  <TypeSignature Language="C#" Value="public interface IFileDescriptorBasedImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFileDescriptorBasedImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/Icon.xml b/doc/en/GLib/IIcon.xml
similarity index 78%
rename from doc/en/GLib/Icon.xml
rename to doc/en/GLib/IIcon.xml
index 400ff7a..2d74f14 100644
--- a/doc/en/GLib/Icon.xml
+++ b/doc/en/GLib/IIcon.xml
@@ -1,6 +1,6 @@
-<Type Name="Icon" FullName="GLib.Icon">
-  <TypeSignature Language="C#" Value="public interface Icon : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Icon implements class GLib.IWrapper" />
+<Type Name="IIcon" FullName="GLib.IIcon">
+  <TypeSignature Language="C#" Value="public interface IIcon : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IIcon implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,25 +12,25 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ToString">
diff --git a/doc/en/GLib/Initable.xml b/doc/en/GLib/IInitable.xml
similarity index 85%
rename from doc/en/GLib/Initable.xml
rename to doc/en/GLib/IInitable.xml
index 06719e5..e85edf5 100644
--- a/doc/en/GLib/Initable.xml
+++ b/doc/en/GLib/IInitable.xml
@@ -1,6 +1,6 @@
-<Type Name="Initable" FullName="GLib.Initable">
-  <TypeSignature Language="C#" Value="public interface Initable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Initable implements class GLib.IWrapper" />
+<Type Name="IInitable" FullName="GLib.IInitable">
+  <TypeSignature Language="C#" Value="public interface IInitable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IInitable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/InitableImplementor.xml b/doc/en/GLib/IInitableImplementor.xml
similarity index 84%
rename from doc/en/GLib/InitableImplementor.xml
rename to doc/en/GLib/IInitableImplementor.xml
index bcda1ce..bcdb298 100644
--- a/doc/en/GLib/InitableImplementor.xml
+++ b/doc/en/GLib/IInitableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="InitableImplementor" FullName="GLib.InitableImplementor">
-  <TypeSignature Language="C#" Value="public interface InitableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract InitableImplementor implements class GLib.IWrapper" />
+<Type Name="IInitableImplementor" FullName="GLib.IInitableImplementor">
+  <TypeSignature Language="C#" Value="public interface IInitableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IInitableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/LoadableIcon.xml b/doc/en/GLib/ILoadableIcon.xml
similarity index 85%
rename from doc/en/GLib/LoadableIcon.xml
rename to doc/en/GLib/ILoadableIcon.xml
index bb778c2..1246752 100644
--- a/doc/en/GLib/LoadableIcon.xml
+++ b/doc/en/GLib/ILoadableIcon.xml
@@ -1,6 +1,6 @@
-<Type Name="LoadableIcon" FullName="GLib.LoadableIcon">
-  <TypeSignature Language="C#" Value="public interface LoadableIcon : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract LoadableIcon implements class GLib.IWrapper" />
+<Type Name="ILoadableIcon" FullName="GLib.ILoadableIcon">
+  <TypeSignature Language="C#" Value="public interface ILoadableIcon : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ILoadableIcon implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Load">
@@ -34,7 +34,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadAsync">
@@ -55,18 +55,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadFinish">
-      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.AsyncResult res, string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.AsyncResult res, string type) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.IAsyncResult res, string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.IAsyncResult res, string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.InputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="type" Type="System.String" />
       </Parameters>
       <Docs>
@@ -75,7 +75,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/LoadableIconImplementor.xml b/doc/en/GLib/ILoadableIconImplementor.xml
similarity index 84%
rename from doc/en/GLib/LoadableIconImplementor.xml
rename to doc/en/GLib/ILoadableIconImplementor.xml
index 605713e..9563c57 100644
--- a/doc/en/GLib/LoadableIconImplementor.xml
+++ b/doc/en/GLib/ILoadableIconImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="LoadableIconImplementor" FullName="GLib.LoadableIconImplementor">
-  <TypeSignature Language="C#" Value="public interface LoadableIconImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract LoadableIconImplementor implements class GLib.IWrapper" />
+<Type Name="ILoadableIconImplementor" FullName="GLib.ILoadableIconImplementor">
+  <TypeSignature Language="C#" Value="public interface ILoadableIconImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ILoadableIconImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -17,7 +17,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Load">
@@ -39,7 +39,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadAsync">
@@ -60,18 +60,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LoadFinish">
-      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.AsyncResult res, string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.AsyncResult res, string type) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.IAsyncResult res, string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.IAsyncResult res, string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.InputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="type" Type="System.String" />
       </Parameters>
       <Docs>
@@ -80,7 +80,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/Mount.xml b/doc/en/GLib/IMount.xml
similarity index 87%
rename from doc/en/GLib/Mount.xml
rename to doc/en/GLib/IMount.xml
index f51cde7..65aa142 100644
--- a/doc/en/GLib/Mount.xml
+++ b/doc/en/GLib/IMount.xml
@@ -1,6 +1,6 @@
-<Type Name="Mount" FullName="GLib.Mount">
-  <TypeSignature Language="C#" Value="public interface Mount : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Mount implements class GLib.IWrapper" />
+<Type Name="IMount" FullName="GLib.IMount">
+  <TypeSignature Language="C#" Value="public interface IMount : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IMount implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="CanEject">
@@ -27,7 +27,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanUnmount">
@@ -41,7 +41,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Changed">
@@ -54,15 +54,15 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DefaultLocation">
-      <MemberSignature Language="C#" Value="public GLib.File DefaultLocation { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File DefaultLocation" />
+      <MemberSignature Language="C#" Value="public GLib.IFile DefaultLocation { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile DefaultLocation" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -72,17 +72,17 @@
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Eject">
@@ -103,25 +103,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectFinish">
-      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperation">
@@ -148,14 +148,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -183,18 +183,18 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GuessContentTypeFinish">
-      <MemberSignature Language="C#" Value="public string[] GuessContentTypeFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GuessContentTypeFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GuessContentTypeFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GuessContentTypeFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -225,17 +225,17 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsShadowed">
@@ -263,7 +263,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PreUnmount">
@@ -299,39 +299,39 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemountFinish">
-      <MemberSignature Language="C#" Value="public bool RemountFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemountFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool RemountFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemountFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Root">
-      <MemberSignature Language="C#" Value="public GLib.File Root { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File Root" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Root { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile Root" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Shadow">
@@ -366,7 +366,7 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Unmounted">
@@ -379,25 +379,25 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountWithOperation">
@@ -424,14 +424,14 @@
       </Docs>
     </Member>
     <Member MemberName="UnmountWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -466,21 +466,21 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Volume">
-      <MemberSignature Language="C#" Value="public GLib.Volume Volume { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Volume Volume" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume Volume { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume Volume" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/GioGlobal.xml b/doc/en/GLib/IOError.xml
similarity index 57%
copy from doc/en/GLib/GioGlobal.xml
copy to doc/en/GLib/IOError.xml
index 3cc8d38..0b0949c 100644
--- a/doc/en/GLib/GioGlobal.xml
+++ b/doc/en/GLib/IOError.xml
@@ -1,6 +1,6 @@
-<Type Name="GioGlobal" FullName="GLib.GioGlobal">
-  <TypeSignature Language="C#" Value="public class GioGlobal" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit GioGlobal extends System.Object" />
+<Type Name="IOError" FullName="GLib.IOError">
+  <TypeSignature Language="C#" Value="public class IOError" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit IOError extends System.Object" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,7 +15,7 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public GioGlobal ();" />
+      <MemberSignature Language="C#" Value="public IOError ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters />
@@ -25,30 +25,36 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="RegistryBackendGetType">
-      <MemberSignature Language="C#" Value="public static GLib.GType RegistryBackendGetType ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.GType RegistryBackendGetType() cil managed" />
+    <Member MemberName="FromErrno">
+      <MemberSignature Language="C#" Value="public static GLib.IOErrorEnum FromErrno (int err_no);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.IOErrorEnum FromErrno(int32 err_no) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
+        <ReturnType>GLib.IOErrorEnum</ReturnType>
       </ReturnValue>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="err_no" Type="System.Int32" />
+      </Parameters>
       <Docs>
+        <param name="err_no">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="TlsErrorQuark">
-      <MemberSignature Language="C#" Value="public static int TlsErrorQuark ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 TlsErrorQuark() cil managed" />
+    <Member MemberName="FromWin32Error">
+      <MemberSignature Language="C#" Value="public static GLib.IOErrorEnum FromWin32Error (int error_code);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.IOErrorEnum FromWin32Error(int32 error_code) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
+        <ReturnType>GLib.IOErrorEnum</ReturnType>
       </ReturnValue>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="error_code" Type="System.Int32" />
+      </Parameters>
       <Docs>
+        <param name="error_code">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
diff --git a/doc/en/GLib/IOExtensionPoint.xml b/doc/en/GLib/IOExtensionPoint.xml
index 2858f8c..d0eaf6f 100644
--- a/doc/en/GLib/IOExtensionPoint.xml
+++ b/doc/en/GLib/IOExtensionPoint.xml
@@ -29,11 +29,11 @@
       </Docs>
     </Member>
     <Member MemberName="Extensions">
-      <MemberSignature Language="C#" Value="public GLib.List Extensions { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List Extensions" />
+      <MemberSignature Language="C#" Value="public GLib.IOExtension[] Extensions { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IOExtension[] Extensions" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IOExtension[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/IOModule.xml b/doc/en/GLib/IOModule.xml
index 951fc35..3aea06a 100644
--- a/doc/en/GLib/IOModule.xml
+++ b/doc/en/GLib/IOModule.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -50,9 +50,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.IOModule" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -70,6 +70,24 @@
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
+    <Member MemberName="LoadAllInDirectory">
+      <MemberSignature Language="C#" Value="public static GLib.IOModule[] LoadAllInDirectory (string dirname);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IOModule[] LoadAllInDirectory(string dirname) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.IOModule[]</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="dirname" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="dirname">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Query">
       <MemberSignature Language="C#" Value="public static string Query ();" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string Query() cil managed" />
@@ -85,6 +103,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="ScanAllInDirectory">
+      <MemberSignature Language="C#" Value="public static void ScanAllInDirectory (string dirname);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ScanAllInDirectory(string dirname) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="dirname" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="dirname">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Unload">
       <MemberSignature Language="C#" Value="public void Unload ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Unload() cil managed" />
diff --git a/doc/en/GLib/IOSchedulerJob.xml b/doc/en/GLib/IOSchedulerJob.xml
index a22ecd3..3b155f8 100644
--- a/doc/en/GLib/IOSchedulerJob.xml
+++ b/doc/en/GLib/IOSchedulerJob.xml
@@ -28,6 +28,43 @@
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
+    <Member MemberName="CancelAllJobs">
+      <MemberSignature Language="C#" Value="public static void CancelAllJobs ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void CancelAllJobs() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="PushJob">
+      <MemberSignature Language="C#" Value="public static void PushJob (GLib.IOSchedulerJobFunc job_func, GLib.DestroyNotify notify, int io_priority, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void PushJob(class GLib.IOSchedulerJobFunc job_func, class GLib.DestroyNotify notify, int32 io_priority, class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="job_func" Type="GLib.IOSchedulerJobFunc" />
+        <Parameter Name="notify" Type="GLib.DestroyNotify" />
+        <Parameter Name="io_priority" Type="System.Int32" />
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="job_func">To be added.</param>
+        <param name="notify">To be added.</param>
+        <param name="io_priority">To be added.</param>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="SendToMainloop">
       <MemberSignature Language="C#" Value="public bool SendToMainloop (GLib.GSourceFunc func);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool SendToMainloop(class GLib.GSourceFunc func) cil managed" />
diff --git a/doc/en/GLib/IOStream.xml b/doc/en/GLib/IOStream.xml
index b2c71a5..30ce170 100644
--- a/doc/en/GLib/IOStream.xml
+++ b/doc/en/GLib/IOStream.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -112,14 +112,14 @@
       </Docs>
     </Member>
     <Member MemberName="CloseFinish">
-      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -137,9 +137,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.IOStream" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -217,8 +217,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnCloseFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -229,7 +229,7 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -362,14 +362,14 @@
       </Docs>
     </Member>
     <Member MemberName="SpliceFinish">
-      <MemberSignature Language="C#" Value="public static bool SpliceFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool SpliceFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public static bool SpliceFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool SpliceFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/PollableInputStream.xml b/doc/en/GLib/IPollableInputStream.xml
similarity index 71%
rename from doc/en/GLib/PollableInputStream.xml
rename to doc/en/GLib/IPollableInputStream.xml
index 8ececaf..c55402e 100644
--- a/doc/en/GLib/PollableInputStream.xml
+++ b/doc/en/GLib/IPollableInputStream.xml
@@ -1,6 +1,6 @@
-<Type Name="PollableInputStream" FullName="GLib.PollableInputStream">
-  <TypeSignature Language="C#" Value="public interface PollableInputStream : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract PollableInputStream implements class GLib.IWrapper" />
+<Type Name="IPollableInputStream" FullName="GLib.IPollableInputStream">
+  <TypeSignature Language="C#" Value="public interface IPollableInputStream : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPollableInputStream implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -30,6 +30,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsReadable">
       <MemberSignature Language="C#" Value="public bool IsReadable { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool IsReadable" />
diff --git a/doc/en/GLib/PollableInputStreamImplementor.xml b/doc/en/GLib/IPollableInputStreamImplementor.xml
similarity index 70%
rename from doc/en/GLib/PollableInputStreamImplementor.xml
rename to doc/en/GLib/IPollableInputStreamImplementor.xml
index ded9a19..ab32b9e 100644
--- a/doc/en/GLib/PollableInputStreamImplementor.xml
+++ b/doc/en/GLib/IPollableInputStreamImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="PollableInputStreamImplementor" FullName="GLib.PollableInputStreamImplementor">
-  <TypeSignature Language="C#" Value="public interface PollableInputStreamImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract PollableInputStreamImplementor implements class GLib.IWrapper" />
+<Type Name="IPollableInputStreamImplementor" FullName="GLib.IPollableInputStreamImplementor">
+  <TypeSignature Language="C#" Value="public interface IPollableInputStreamImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPollableInputStreamImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -35,6 +35,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsReadable">
       <MemberSignature Language="C#" Value="public bool IsReadable { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool IsReadable" />
diff --git a/doc/en/GLib/PollableOutputStream.xml b/doc/en/GLib/IPollableOutputStream.xml
similarity index 71%
rename from doc/en/GLib/PollableOutputStream.xml
rename to doc/en/GLib/IPollableOutputStream.xml
index f5fff10..adb0a56 100644
--- a/doc/en/GLib/PollableOutputStream.xml
+++ b/doc/en/GLib/IPollableOutputStream.xml
@@ -1,6 +1,6 @@
-<Type Name="PollableOutputStream" FullName="GLib.PollableOutputStream">
-  <TypeSignature Language="C#" Value="public interface PollableOutputStream : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract PollableOutputStream implements class GLib.IWrapper" />
+<Type Name="IPollableOutputStream" FullName="GLib.IPollableOutputStream">
+  <TypeSignature Language="C#" Value="public interface IPollableOutputStream : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPollableOutputStream implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -30,6 +30,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsWritable">
       <MemberSignature Language="C#" Value="public bool IsWritable { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool IsWritable" />
diff --git a/doc/en/GLib/PollableOutputStreamImplementor.xml b/doc/en/GLib/IPollableOutputStreamImplementor.xml
similarity index 70%
rename from doc/en/GLib/PollableOutputStreamImplementor.xml
rename to doc/en/GLib/IPollableOutputStreamImplementor.xml
index 0814e91..3a86597 100644
--- a/doc/en/GLib/PollableOutputStreamImplementor.xml
+++ b/doc/en/GLib/IPollableOutputStreamImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="PollableOutputStreamImplementor" FullName="GLib.PollableOutputStreamImplementor">
-  <TypeSignature Language="C#" Value="public interface PollableOutputStreamImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract PollableOutputStreamImplementor implements class GLib.IWrapper" />
+<Type Name="IPollableOutputStreamImplementor" FullName="GLib.IPollableOutputStreamImplementor">
+  <TypeSignature Language="C#" Value="public interface IPollableOutputStreamImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPollableOutputStreamImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -35,6 +35,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsWritable">
       <MemberSignature Language="C#" Value="public bool IsWritable { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool IsWritable" />
diff --git a/doc/en/GLib/Proxy.xml b/doc/en/GLib/IProxy.xml
similarity index 92%
rename from doc/en/GLib/Proxy.xml
rename to doc/en/GLib/IProxy.xml
index b6ec401..5eee928 100644
--- a/doc/en/GLib/Proxy.xml
+++ b/doc/en/GLib/IProxy.xml
@@ -1,6 +1,6 @@
-<Type Name="Proxy" FullName="GLib.Proxy">
-  <TypeSignature Language="C#" Value="public interface Proxy : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Proxy implements class GLib.IWrapper" />
+<Type Name="IProxy" FullName="GLib.IProxy">
+  <TypeSignature Language="C#" Value="public interface IProxy : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProxy implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -61,14 +61,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectFinish">
-      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/ProxyImplementor.xml b/doc/en/GLib/IProxyImplementor.xml
similarity index 91%
rename from doc/en/GLib/ProxyImplementor.xml
rename to doc/en/GLib/IProxyImplementor.xml
index 29c93f8..0c646a4 100644
--- a/doc/en/GLib/ProxyImplementor.xml
+++ b/doc/en/GLib/IProxyImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ProxyImplementor" FullName="GLib.ProxyImplementor">
-  <TypeSignature Language="C#" Value="public interface ProxyImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ProxyImplementor implements class GLib.IWrapper" />
+<Type Name="IProxyImplementor" FullName="GLib.IProxyImplementor">
+  <TypeSignature Language="C#" Value="public interface IProxyImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProxyImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -66,14 +66,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectFinish">
-      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/ProxyResolver.xml b/doc/en/GLib/IProxyResolver.xml
similarity index 90%
rename from doc/en/GLib/ProxyResolver.xml
rename to doc/en/GLib/IProxyResolver.xml
index 67428d5..6ffd08e 100644
--- a/doc/en/GLib/ProxyResolver.xml
+++ b/doc/en/GLib/IProxyResolver.xml
@@ -1,6 +1,6 @@
-<Type Name="ProxyResolver" FullName="GLib.ProxyResolver">
-  <TypeSignature Language="C#" Value="public interface ProxyResolver : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ProxyResolver implements class GLib.IWrapper" />
+<Type Name="IProxyResolver" FullName="GLib.IProxyResolver">
+  <TypeSignature Language="C#" Value="public interface IProxyResolver : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProxyResolver implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -71,14 +71,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupFinish">
-      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/ProxyResolverImplementor.xml b/doc/en/GLib/IProxyResolverImplementor.xml
similarity index 90%
rename from doc/en/GLib/ProxyResolverImplementor.xml
rename to doc/en/GLib/IProxyResolverImplementor.xml
index 3141ed4..06677df 100644
--- a/doc/en/GLib/ProxyResolverImplementor.xml
+++ b/doc/en/GLib/IProxyResolverImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ProxyResolverImplementor" FullName="GLib.ProxyResolverImplementor">
-  <TypeSignature Language="C#" Value="public interface ProxyResolverImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ProxyResolverImplementor implements class GLib.IWrapper" />
+<Type Name="IProxyResolverImplementor" FullName="GLib.IProxyResolverImplementor">
+  <TypeSignature Language="C#" Value="public interface IProxyResolverImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProxyResolverImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -76,14 +76,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupFinish">
-      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/Seekable.xml b/doc/en/GLib/ISeekable.xml
similarity index 90%
rename from doc/en/GLib/Seekable.xml
rename to doc/en/GLib/ISeekable.xml
index f712e99..05e8f8e 100644
--- a/doc/en/GLib/Seekable.xml
+++ b/doc/en/GLib/ISeekable.xml
@@ -1,6 +1,6 @@
-<Type Name="Seekable" FullName="GLib.Seekable">
-  <TypeSignature Language="C#" Value="public interface Seekable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Seekable implements class GLib.IWrapper" />
+<Type Name="ISeekable" FullName="GLib.ISeekable">
+  <TypeSignature Language="C#" Value="public interface ISeekable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ISeekable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="CanSeek">
@@ -26,7 +26,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanTruncate">
@@ -41,7 +41,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Position">
@@ -55,7 +55,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Seek">
@@ -77,7 +77,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Truncate">
@@ -97,7 +97,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/SocketConnectable.xml b/doc/en/GLib/ISocketConnectable.xml
similarity index 88%
rename from doc/en/GLib/SocketConnectable.xml
rename to doc/en/GLib/ISocketConnectable.xml
index 7a08d0e..f220f97 100644
--- a/doc/en/GLib/SocketConnectable.xml
+++ b/doc/en/GLib/ISocketConnectable.xml
@@ -1,6 +1,6 @@
-<Type Name="SocketConnectable" FullName="GLib.SocketConnectable">
-  <TypeSignature Language="C#" Value="public interface SocketConnectable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract SocketConnectable implements class GLib.IWrapper" />
+<Type Name="ISocketConnectable" FullName="GLib.ISocketConnectable">
+  <TypeSignature Language="C#" Value="public interface ISocketConnectable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ISocketConnectable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/SocketConnectableImplementor.xml b/doc/en/GLib/ISocketConnectableImplementor.xml
similarity index 87%
rename from doc/en/GLib/SocketConnectableImplementor.xml
rename to doc/en/GLib/ISocketConnectableImplementor.xml
index 5b00f2f..bddceaa 100644
--- a/doc/en/GLib/SocketConnectableImplementor.xml
+++ b/doc/en/GLib/ISocketConnectableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="SocketConnectableImplementor" FullName="GLib.SocketConnectableImplementor">
-  <TypeSignature Language="C#" Value="public interface SocketConnectableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract SocketConnectableImplementor implements class GLib.IWrapper" />
+<Type Name="ISocketConnectableImplementor" FullName="GLib.ISocketConnectableImplementor">
+  <TypeSignature Language="C#" Value="public interface ISocketConnectableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ISocketConnectableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/TlsClientConnection.xml b/doc/en/GLib/ITlsClientConnection.xml
similarity index 78%
rename from doc/en/GLib/TlsClientConnection.xml
rename to doc/en/GLib/ITlsClientConnection.xml
index 9c9cb8f..2374539 100644
--- a/doc/en/GLib/TlsClientConnection.xml
+++ b/doc/en/GLib/ITlsClientConnection.xml
@@ -1,6 +1,6 @@
-<Type Name="TlsClientConnection" FullName="GLib.TlsClientConnection">
-  <TypeSignature Language="C#" Value="public interface TlsClientConnection : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TlsClientConnection implements class GLib.IWrapper" />
+<Type Name="ITlsClientConnection" FullName="GLib.ITlsClientConnection">
+  <TypeSignature Language="C#" Value="public interface ITlsClientConnection : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITlsClientConnection implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -16,11 +16,11 @@
   </Docs>
   <Members>
     <Member MemberName="AcceptedCas">
-      <MemberSignature Language="C#" Value="public GLib.List AcceptedCas { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List AcceptedCas" />
+      <MemberSignature Language="C#" Value="public IntPtr[] AcceptedCas { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance native int[] AcceptedCas" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>System.IntPtr[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -30,11 +30,11 @@
       </Docs>
     </Member>
     <Member MemberName="ServerIdentity">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnectable ServerIdentity { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SocketConnectable ServerIdentity" />
+      <MemberSignature Language="C#" Value="public GLib.ISocketConnectable ServerIdentity { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ISocketConnectable ServerIdentity" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/TlsClientConnectionImplementor.xml b/doc/en/GLib/ITlsClientConnectionImplementor.xml
similarity index 82%
rename from doc/en/GLib/TlsClientConnectionImplementor.xml
rename to doc/en/GLib/ITlsClientConnectionImplementor.xml
index 728a363..1503d6e 100644
--- a/doc/en/GLib/TlsClientConnectionImplementor.xml
+++ b/doc/en/GLib/ITlsClientConnectionImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TlsClientConnectionImplementor" FullName="GLib.TlsClientConnectionImplementor">
-  <TypeSignature Language="C#" Value="public interface TlsClientConnectionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TlsClientConnectionImplementor implements class GLib.IWrapper" />
+<Type Name="ITlsClientConnectionImplementor" FullName="GLib.ITlsClientConnectionImplementor">
+  <TypeSignature Language="C#" Value="public interface ITlsClientConnectionImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITlsClientConnectionImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -21,8 +21,8 @@
   </Docs>
   <Members>
     <Member MemberName="AcceptedCas">
-      <MemberSignature Language="C#" Value="public GLib.List AcceptedCas { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List AcceptedCas" />
+      <MemberSignature Language="C#" Value="public IntPtr[] AcceptedCas { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance native int[] AcceptedCas" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -30,7 +30,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>System.IntPtr[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -40,8 +40,8 @@
       </Docs>
     </Member>
     <Member MemberName="ServerIdentity">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnectable ServerIdentity { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SocketConnectable ServerIdentity" />
+      <MemberSignature Language="C#" Value="public GLib.ISocketConnectable ServerIdentity { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ISocketConnectable ServerIdentity" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -49,7 +49,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/TlsServerConnection.xml b/doc/en/GLib/ITlsServerConnection.xml
similarity index 62%
rename from doc/en/GLib/TlsServerConnection.xml
rename to doc/en/GLib/ITlsServerConnection.xml
index 7e0b969..19e3bdc 100644
--- a/doc/en/GLib/TlsServerConnection.xml
+++ b/doc/en/GLib/ITlsServerConnection.xml
@@ -1,6 +1,6 @@
-<Type Name="TlsServerConnection" FullName="GLib.TlsServerConnection">
-  <TypeSignature Language="C#" Value="public interface TlsServerConnection : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TlsServerConnection implements class GLib.IWrapper" />
+<Type Name="ITlsServerConnection" FullName="GLib.ITlsServerConnection">
+  <TypeSignature Language="C#" Value="public interface ITlsServerConnection : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITlsServerConnection implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/TlsServerConnectionImplementor.xml b/doc/en/GLib/ITlsServerConnectionImplementor.xml
similarity index 66%
rename from doc/en/GLib/TlsServerConnectionImplementor.xml
rename to doc/en/GLib/ITlsServerConnectionImplementor.xml
index d464ceb..f9cdc96 100644
--- a/doc/en/GLib/TlsServerConnectionImplementor.xml
+++ b/doc/en/GLib/ITlsServerConnectionImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TlsServerConnectionImplementor" FullName="GLib.TlsServerConnectionImplementor">
-  <TypeSignature Language="C#" Value="public interface TlsServerConnectionImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TlsServerConnectionImplementor implements class GLib.IWrapper" />
+<Type Name="ITlsServerConnectionImplementor" FullName="GLib.ITlsServerConnectionImplementor">
+  <TypeSignature Language="C#" Value="public interface ITlsServerConnectionImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITlsServerConnectionImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/GLib/Volume.xml b/doc/en/GLib/IVolume.xml
similarity index 85%
rename from doc/en/GLib/Volume.xml
rename to doc/en/GLib/IVolume.xml
index 6f70898..29036c6 100644
--- a/doc/en/GLib/Volume.xml
+++ b/doc/en/GLib/IVolume.xml
@@ -1,6 +1,6 @@
-<Type Name="Volume" FullName="GLib.Volume">
-  <TypeSignature Language="C#" Value="public interface Volume : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Volume implements class GLib.IWrapper" />
+<Type Name="IVolume" FullName="GLib.IVolume">
+  <TypeSignature Language="C#" Value="public interface IVolume : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IVolume implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,21 +12,21 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="ActivationRoot">
-      <MemberSignature Language="C#" Value="public GLib.File ActivationRoot { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File ActivationRoot" />
+      <MemberSignature Language="C#" Value="public GLib.IFile ActivationRoot { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile ActivationRoot" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanEject">
@@ -41,7 +41,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CanMount">
@@ -56,7 +56,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Changed">
@@ -69,21 +69,21 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Eject">
@@ -104,25 +104,25 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectFinish">
-      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperation">
@@ -149,14 +149,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -178,7 +178,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIdentifier">
@@ -196,21 +196,21 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Mount">
@@ -233,39 +233,39 @@
         <param name="cb">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountFinish">
-      <MemberSignature Language="C#" Value="public bool MountFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool MountFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountInstance">
-      <MemberSignature Language="C#" Value="public GLib.Mount MountInstance { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount MountInstance" />
+      <MemberSignature Language="C#" Value="public GLib.IMount MountInstance { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount MountInstance" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Name">
@@ -279,7 +279,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Removed">
@@ -292,7 +292,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShouldAutomount">
@@ -307,7 +307,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Uuid">
@@ -321,7 +321,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/IconAdapter.xml b/doc/en/GLib/IconAdapter.xml
index 9b30742..138d4f9 100644
--- a/doc/en/GLib/IconAdapter.xml
+++ b/doc/en/GLib/IconAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="IconAdapter" FullName="GLib.IconAdapter">
-  <TypeSignature Language="C#" Value="public class IconAdapter : GLib.GInterfaceAdapter, GLib.Icon, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit IconAdapter extends GLib.GInterfaceAdapter implements class GLib.Icon, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class IconAdapter : GLib.GInterfaceAdapter, GLib.IIcon, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit IconAdapter extends GLib.GInterfaceAdapter implements class GLib.IIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Icon</InterfaceName>
+      <InterfaceName>GLib.IIcon</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -36,29 +36,29 @@
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Icon GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Icon GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IIcon GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IIcon GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -68,15 +68,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Icon GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Icon GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IIcon GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IIcon GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -88,12 +88,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
diff --git a/doc/en/GLib/IncomingArgs.xml b/doc/en/GLib/IncomingArgs.xml
index 0c2e6bb..50c682b 100644
--- a/doc/en/GLib/IncomingArgs.xml
+++ b/doc/en/GLib/IncomingArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.SocketService.Incoming" /> event invokes <see cref="T:GLib.IncomingHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.IncomingArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.IncomingHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/IncomingHandler.xml b/doc/en/GLib/IncomingHandler.xml
index 2bf5ce6..75c1ec3 100644
--- a/doc/en/GLib/IncomingHandler.xml
+++ b/doc/en/GLib/IncomingHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.SocketService.Incoming" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.IncomingArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.IncomingHandler" /> to an event, add the IncomingHandler instance to the event.  The methods referenced by the IncomingHandler instance are invoked whenever the event is raised, until the IncomingHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/InetAddress.xml b/doc/en/GLib/InetAddress.xml
index 79e66bc..3a44b6e 100644
--- a/doc/en/GLib/InetAddress.xml
+++ b/doc/en/GLib/InetAddress.xml
@@ -15,6 +15,20 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public InetAddress (GLib.SocketFamily family);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype GLib.SocketFamily family) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="family" Type="GLib.SocketFamily" />
+      </Parameters>
+      <Docs>
+        <param name="family">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public InetAddress (IntPtr raw);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
       <MemberType>Constructor</MemberType>
@@ -22,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -42,6 +56,22 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public InetAddress (byte[] bytes, GLib.SocketFamily family);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int8[] bytes, valuetype GLib.SocketFamily family) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="bytes" Type="System.Byte[]" />
+        <Parameter Name="family" Type="GLib.SocketFamily" />
+      </Parameters>
+      <Docs>
+        <param name="bytes">To be added.</param>
+        <param name="family">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Bytes">
       <MemberSignature Language="C#" Value="public IntPtr Bytes { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance native int Bytes" />
@@ -61,6 +91,25 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="Family">
+      <MemberSignature Language="C#" Value="public GLib.SocketFamily Family { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.SocketFamily Family" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("family")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
       <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
       <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
@@ -69,9 +118,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.InetAddress" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -279,6 +328,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="NewLoopback">
+      <MemberSignature Language="C#" Value="public static GLib.InetAddress NewLoopback (GLib.SocketFamily family);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.InetAddress NewLoopback(valuetype GLib.SocketFamily family) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.InetAddress</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="family" Type="GLib.SocketFamily" />
+      </Parameters>
+      <Docs>
+        <param name="family">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="OnToBytes">
       <MemberSignature Language="C#" Value="protected virtual byte OnToBytes ();" />
       <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance unsigned int8 OnToBytes() cil managed" />
diff --git a/doc/en/GLib/InetSocketAddress.xml b/doc/en/GLib/InetSocketAddress.xml
index ac7ba88..eeba4b4 100644
--- a/doc/en/GLib/InetSocketAddress.xml
+++ b/doc/en/GLib/InetSocketAddress.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -71,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.InetSocketAddress" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/InitableAdapter.xml b/doc/en/GLib/InitableAdapter.xml
index 51c9d33..3ae3e62 100644
--- a/doc/en/GLib/InitableAdapter.xml
+++ b/doc/en/GLib/InitableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="InitableAdapter" FullName="GLib.InitableAdapter">
-  <TypeSignature Language="C#" Value="public class InitableAdapter : GLib.GInterfaceAdapter, GLib.Initable, GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi InitableAdapter extends GLib.GInterfaceAdapter implements class GLib.Initable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class InitableAdapter : GLib.GInterfaceAdapter, GLib.IInitable, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi InitableAdapter extends GLib.GInterfaceAdapter implements class GLib.IInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Initable</InterfaceName>
+      <InterfaceName>GLib.IInitable</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public InitableAdapter (GLib.InitableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.InitableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public InitableAdapter (GLib.IInitableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IInitableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.InitableImplementor" />
+        <Parameter Name="implementor" Type="GLib.IInitableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Initable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Initable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IInitable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IInitable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Initable</ReturnType>
+        <ReturnType>GLib.IInitable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -79,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Initable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Initable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IInitable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IInitable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Initable</ReturnType>
+        <ReturnType>GLib.IInitable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -98,9 +98,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -127,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.InitableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.InitableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IInitableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IInitableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.InitableImplementor</ReturnType>
+        <ReturnType>GLib.IInitableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/InputStream.xml b/doc/en/GLib/InputStream.xml
index 36c0e85..715daa7 100644
--- a/doc/en/GLib/InputStream.xml
+++ b/doc/en/GLib/InputStream.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -93,21 +93,21 @@
       </Docs>
     </Member>
     <Member MemberName="CloseFinish">
-      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -118,9 +118,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.InputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -179,8 +179,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnCloseFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -191,14 +191,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnCloseFn">
@@ -255,8 +255,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnReadFinish">
-      <MemberSignature Language="C#" Value="protected virtual long OnReadFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnReadFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual long OnReadFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnReadFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -267,14 +267,14 @@
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnReadFn">
@@ -358,8 +358,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnSkipFinish">
-      <MemberSignature Language="C#" Value="protected virtual long OnSkipFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnSkipFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual long OnSkipFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnSkipFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -370,14 +370,14 @@
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Read">
@@ -452,21 +452,21 @@
       </Docs>
     </Member>
     <Member MemberName="ReadFinish">
-      <MemberSignature Language="C#" Value="public long ReadFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 ReadFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public long ReadFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 ReadFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetPending">
@@ -528,21 +528,21 @@
       </Docs>
     </Member>
     <Member MemberName="SkipFinish">
-      <MemberSignature Language="C#" Value="public long SkipFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 SkipFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public long SkipFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 SkipFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/Io.xml b/doc/en/GLib/Io.xml
deleted file mode 100644
index 2340206..0000000
--- a/doc/en/GLib/Io.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<Type Name="Io" FullName="GLib.Io">
-  <TypeSignature Language="C#" Value="public class Io" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Io extends System.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gio-sharp</AssemblyName>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
-  </Docs>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Io ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="ErrorFromErrno">
-      <MemberSignature Language="C#" Value="public static GLib.IOErrorEnum ErrorFromErrno (int err_no);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.IOErrorEnum ErrorFromErrno(int32 err_no) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.IOErrorEnum</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="err_no" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="err_no">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="ErrorFromWin32Error">
-      <MemberSignature Language="C#" Value="public static GLib.IOErrorEnum ErrorFromWin32Error (int error_code);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.IOErrorEnum ErrorFromWin32Error(int32 error_code) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.IOErrorEnum</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="error_code" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="error_code">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="ErrorQuark">
-      <MemberSignature Language="C#" Value="public static int ErrorQuark ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 ErrorQuark() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="ModulesLoadAllInDirectory">
-      <MemberSignature Language="C#" Value="public static GLib.List ModulesLoadAllInDirectory (string dirname);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List ModulesLoadAllInDirectory(string dirname) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dirname" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="dirname">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="ModulesScanAllInDirectory">
-      <MemberSignature Language="C#" Value="public static void ModulesScanAllInDirectory (string dirname);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ModulesScanAllInDirectory(string dirname) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dirname" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="dirname">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName="SchedulerCancelAllJobs">
-      <MemberSignature Language="C#" Value="public static void SchedulerCancelAllJobs ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SchedulerCancelAllJobs() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="SchedulerPushJob">
-      <MemberSignature Language="C#" Value="public static void SchedulerPushJob (GLib.IOSchedulerJobFunc job_func, GLib.DestroyNotify notify, int io_priority, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SchedulerPushJob(class GLib.IOSchedulerJobFunc job_func, class GLib.DestroyNotify notify, int32 io_priority, class GLib.Cancellable cancellable) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="job_func" Type="GLib.IOSchedulerJobFunc" />
-        <Parameter Name="notify" Type="GLib.DestroyNotify" />
-        <Parameter Name="io_priority" Type="System.Int32" />
-        <Parameter Name="cancellable" Type="GLib.Cancellable" />
-      </Parameters>
-      <Docs>
-        <param name="job_func">To be added.</param>
-        <param name="notify">To be added.</param>
-        <param name="io_priority">To be added.</param>
-        <param name="cancellable">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/GLib/LoadableIconAdapter.xml b/doc/en/GLib/LoadableIconAdapter.xml
index 3afb20d..a000252 100644
--- a/doc/en/GLib/LoadableIconAdapter.xml
+++ b/doc/en/GLib/LoadableIconAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="LoadableIconAdapter" FullName="GLib.LoadableIconAdapter">
-  <TypeSignature Language="C#" Value="public class LoadableIconAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.LoadableIcon" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi LoadableIconAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.LoadableIcon" />
+  <TypeSignature Language="C#" Value="public class LoadableIconAdapter : GLib.GInterfaceAdapter, GLib.ILoadableIcon, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi LoadableIconAdapter extends GLib.GInterfaceAdapter implements class GLib.ILoadableIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.ILoadableIcon</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.LoadableIcon</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,17 +33,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public LoadableIconAdapter (GLib.LoadableIconImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.LoadableIconImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public LoadableIconAdapter (GLib.ILoadableIconImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ILoadableIconImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.LoadableIconImplementor" />
+        <Parameter Name="implementor" Type="GLib.ILoadableIconImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.LoadableIcon GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.LoadableIcon GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ILoadableIcon GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ILoadableIcon GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.LoadableIcon</ReturnType>
+        <ReturnType>GLib.ILoadableIcon</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -75,15 +75,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.LoadableIcon GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.LoadableIcon GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ILoadableIcon GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ILoadableIcon GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.LoadableIcon</ReturnType>
+        <ReturnType>GLib.ILoadableIcon</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -95,12 +95,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -127,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.LoadableIconImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.LoadableIconImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.ILoadableIconImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ILoadableIconImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.LoadableIconImplementor</ReturnType>
+        <ReturnType>GLib.ILoadableIconImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -184,14 +198,14 @@
       </Docs>
     </Member>
     <Member MemberName="LoadFinish">
-      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.AsyncResult res, string type);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.AsyncResult res, string type) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.InputStream LoadFinish (GLib.IAsyncResult res, string type);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.InputStream LoadFinish(class GLib.IAsyncResult res, string type) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.InputStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="res" Type="GLib.AsyncResult" />
+        <Parameter Name="res" Type="GLib.IAsyncResult" />
         <Parameter Name="type" Type="System.String" />
       </Parameters>
       <Docs>
@@ -200,7 +214,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OwnedHandle">
diff --git a/doc/en/GLib/LocalDirectoryMonitor.xml b/doc/en/GLib/LocalDirectoryMonitor.xml
index 87bfd2c..ef32910 100644
--- a/doc/en/GLib/LocalDirectoryMonitor.xml
+++ b/doc/en/GLib/LocalDirectoryMonitor.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.LocalDirectoryMonitor" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/LocalFileEnumerator.xml b/doc/en/GLib/LocalFileEnumerator.xml
index 384eded..0b82b6a 100644
--- a/doc/en/GLib/LocalFileEnumerator.xml
+++ b/doc/en/GLib/LocalFileEnumerator.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/LocalFileIOStream.xml b/doc/en/GLib/LocalFileIOStream.xml
index a6c7fd8..5e7c98e 100644
--- a/doc/en/GLib/LocalFileIOStream.xml
+++ b/doc/en/GLib/LocalFileIOStream.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/MainContext.xml b/doc/en/GLib/MainContext.xml
index 865cddd..acbc9da 100644
--- a/doc/en/GLib/MainContext.xml
+++ b/doc/en/GLib/MainContext.xml
@@ -27,6 +27,20 @@
         <remarks>This is the default constructor for <see cref="T:GLib.MainContext" />.</remarks>
       </Docs>
     </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public MainContext (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Default">
       <MemberSignature Language="C#" Value="public static GLib.MainContext Default { get; }" />
       <MemberSignature Language="ILAsm" Value=".property class GLib.MainContext Default" />
@@ -103,6 +117,20 @@
         <since version="Gtk# 2.90" />
       </Docs>
     </Member>
+    <Member MemberName="Handle">
+      <MemberSignature Language="C#" Value="public IntPtr Handle { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.IntPtr</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="HasPendingEvents">
       <MemberSignature Language="C#" Value="public bool HasPendingEvents { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool HasPendingEvents" />
diff --git a/doc/en/GLib/Marshaller.xml b/doc/en/GLib/Marshaller.xml
index 94c7618..dde9f77 100644
--- a/doc/en/GLib/Marshaller.xml
+++ b/doc/en/GLib/Marshaller.xml
@@ -16,52 +16,6 @@
     <remarks>Utility class for internal wrapper use</remarks>
   </Docs>
   <Members>
-    <Member MemberName="ArgvToArrayPtr">
-      <MemberSignature Language="C#" Value="public static IntPtr ArgvToArrayPtr (string[] args);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig native int ArgvToArrayPtr(string[] args) cil managed" />
-      <MemberType>Method</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Use GLib.Argv instead to avoid leaks.")</AttributeName>
-        </Attribute>
-      </Attributes>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="args" Type="System.String[]" />
-      </Parameters>
-      <Docs>
-        <param name="args">a <see cref="T:System.String" /></param>
-        <summary>Obsolete.</summary>
-        <returns>a <see cref="T:System.IntPtr" /></returns>
-        <remarks>Replaced by <see cref="T:GLib.Argv" /></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ArrayPtrToArgv">
-      <MemberSignature Language="C#" Value="public static string[] ArrayPtrToArgv (IntPtr array, int argc);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] ArrayPtrToArgv(native int array, int32 argc) cil managed" />
-      <MemberType>Method</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Use GLib.Argv instead to avoid leaks.")</AttributeName>
-        </Attribute>
-      </Attributes>
-      <ReturnValue>
-        <ReturnType>System.String[]</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="array" Type="System.IntPtr" />
-        <Parameter Name="argc" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="array">a <see cref="T:System.IntPtr" /></param>
-        <param name="argc">a <see cref="T:System.Int32" /></param>
-        <summary>Obsolete.</summary>
-        <returns>a <see cref="T:System.String[]" /></returns>
-        <remarks>Replaced by <see cref="T:GLib.Argv" /></remarks>
-      </Docs>
-    </Member>
     <Member MemberName="ArrayPtrToArray">
       <MemberSignature Language="C#" Value="public static Array ArrayPtrToArray (IntPtr array_ptr, Type element_type, int length, bool owned);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Array ArrayPtrToArray(native int array_ptr, class System.Type element_type, int32 length, bool owned) cil managed" />
@@ -434,6 +388,42 @@
         <remarks />
       </Docs>
     </Member>
+    <Member MemberName="StringArrayToNullTermStrvPointer">
+      <MemberSignature Language="C#" Value="public static IntPtr StringArrayToNullTermStrvPointer (string[] strs);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig native int StringArrayToNullTermStrvPointer(string[] strs) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.IntPtr</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="strs" Type="System.String[]" />
+      </Parameters>
+      <Docs>
+        <param name="strs">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="StringArrayToStrvPtr">
+      <MemberSignature Language="C#" Value="public static IntPtr StringArrayToStrvPtr (string[] strs);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig native int StringArrayToStrvPtr(string[] strs) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.IntPtr</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="strs" Type="System.String[]" />
+      </Parameters>
+      <Docs>
+        <param name="strs">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="StringFormat">
       <MemberSignature Language="C#" Value="public static string StringFormat (string format, object[] args);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string StringFormat(string format, object[] args) cil managed" />
@@ -495,6 +485,50 @@
         <remarks />
       </Docs>
     </Member>
+    <Member MemberName="StructArrayFromNullTerminatedIntPtr<T>">
+      <MemberSignature Language="C#" Value="public static T[] StructArrayFromNullTerminatedIntPtr<T> (IntPtr array);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig !!T[] StructArrayFromNullTerminatedIntPtr<T>(native int array) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>T[]</ReturnType>
+      </ReturnValue>
+      <TypeParameters>
+        <TypeParameter Name="T" />
+      </TypeParameters>
+      <Parameters>
+        <Parameter Name="array" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <typeparam name="T">To be added.</typeparam>
+        <param name="array">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="StructArrayToNullTerminatedStructArrayIntPtr<T>">
+      <MemberSignature Language="C#" Value="public static IntPtr StructArrayToNullTerminatedStructArrayIntPtr<T> (T[] InputArray);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig native int StructArrayToNullTerminatedStructArrayIntPtr<T>(!!T[] InputArray) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.IntPtr</ReturnType>
+      </ReturnValue>
+      <TypeParameters>
+        <TypeParameter Name="T" />
+      </TypeParameters>
+      <Parameters>
+        <Parameter Name="InputArray" Type="T[]" />
+      </Parameters>
+      <Docs>
+        <typeparam name="T">To be added.</typeparam>
+        <param name="InputArray">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="StructureToPtrAlloc">
       <MemberSignature Language="C#" Value="public static IntPtr StructureToPtrAlloc (object o);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig native int StructureToPtrAlloc(object o) cil managed" />
diff --git a/doc/en/GLib/MemoryInputStream.xml b/doc/en/GLib/MemoryInputStream.xml
index 77f165e..3e4bfb4 100644
--- a/doc/en/GLib/MemoryInputStream.xml
+++ b/doc/en/GLib/MemoryInputStream.xml
@@ -1,6 +1,6 @@
 <Type Name="MemoryInputStream" FullName="GLib.MemoryInputStream">
-  <TypeSignature Language="C#" Value="public class MemoryInputStream : GLib.InputStream, GLib.Seekable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MemoryInputStream extends GLib.InputStream implements class GLib.IWrapper, class GLib.Seekable" />
+  <TypeSignature Language="C#" Value="public class MemoryInputStream : GLib.InputStream, GLib.ISeekable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MemoryInputStream extends GLib.InputStream implements class GLib.ISeekable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Seekable</InterfaceName>
+      <InterfaceName>GLib.ISeekable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -119,9 +119,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.MemoryInputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/MemoryOutputStream.xml b/doc/en/GLib/MemoryOutputStream.xml
index 407697c..3c3698a 100644
--- a/doc/en/GLib/MemoryOutputStream.xml
+++ b/doc/en/GLib/MemoryOutputStream.xml
@@ -1,6 +1,6 @@
 <Type Name="MemoryOutputStream" FullName="GLib.MemoryOutputStream">
-  <TypeSignature Language="C#" Value="public class MemoryOutputStream : GLib.OutputStream, GLib.Seekable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MemoryOutputStream extends GLib.OutputStream implements class GLib.IWrapper, class GLib.Seekable" />
+  <TypeSignature Language="C#" Value="public class MemoryOutputStream : GLib.OutputStream, GLib.ISeekable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MemoryOutputStream extends GLib.OutputStream implements class GLib.ISeekable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Seekable</InterfaceName>
+      <InterfaceName>GLib.ISeekable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -146,9 +146,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.MemoryOutputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/MountAdapter.xml b/doc/en/GLib/MountAdapter.xml
index 247d575..cc28f1e 100644
--- a/doc/en/GLib/MountAdapter.xml
+++ b/doc/en/GLib/MountAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="MountAdapter" FullName="GLib.MountAdapter">
-  <TypeSignature Language="C#" Value="public class MountAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.Mount" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MountAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.Mount" />
+  <TypeSignature Language="C#" Value="public class MountAdapter : GLib.GInterfaceAdapter, GLib.IMount, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MountAdapter extends GLib.GInterfaceAdapter implements class GLib.IMount, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.IMount</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Mount</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -83,11 +83,11 @@
       </Docs>
     </Member>
     <Member MemberName="DefaultLocation">
-      <MemberSignature Language="C#" Value="public GLib.File DefaultLocation { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File DefaultLocation" />
+      <MemberSignature Language="C#" Value="public GLib.IFile DefaultLocation { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile DefaultLocation" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -97,11 +97,11 @@
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -137,8 +137,8 @@
       </Docs>
     </Member>
     <Member MemberName="EjectFinish">
-      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -149,14 +149,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperation">
@@ -183,14 +183,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -201,11 +201,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Mount GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Mount GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IMount GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IMount GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -215,15 +215,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Mount GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Mount GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IMount GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IMount GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -235,12 +235,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -274,14 +288,14 @@
       </Docs>
     </Member>
     <Member MemberName="GuessContentTypeFinish">
-      <MemberSignature Language="C#" Value="public string[] GuessContentTypeFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GuessContentTypeFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GuessContentTypeFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GuessContentTypeFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -326,11 +340,11 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -423,29 +437,29 @@
       </Docs>
     </Member>
     <Member MemberName="RemountFinish">
-      <MemberSignature Language="C#" Value="public bool RemountFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemountFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool RemountFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RemountFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Root">
-      <MemberSignature Language="C#" Value="public GLib.File Root { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File Root" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Root { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile Root" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -513,8 +527,8 @@
       </Docs>
     </Member>
     <Member MemberName="UnmountFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -525,14 +539,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnmountWithOperation">
@@ -559,14 +573,14 @@
       </Docs>
     </Member>
     <Member MemberName="UnmountWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool UnmountWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool UnmountWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool UnmountWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -605,11 +619,11 @@
       </Docs>
     </Member>
     <Member MemberName="Volume">
-      <MemberSignature Language="C#" Value="public GLib.Volume Volume { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Volume Volume" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume Volume { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume Volume" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/MountAddedArgs.xml b/doc/en/GLib/MountAddedArgs.xml
index ae08ce8..dde5b92 100644
--- a/doc/en/GLib/MountAddedArgs.xml
+++ b/doc/en/GLib/MountAddedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountAdded" /> event invokes <see cref="T:GLib.MountAddedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.MountAddedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.MountAddedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Mount">
-      <MemberSignature Language="C#" Value="public GLib.Mount Mount { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount Mount" />
+      <MemberSignature Language="C#" Value="public GLib.IMount Mount { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount Mount" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/MountAddedHandler.xml b/doc/en/GLib/MountAddedHandler.xml
index fac5e32..3dd0c2a 100644
--- a/doc/en/GLib/MountAddedHandler.xml
+++ b/doc/en/GLib/MountAddedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountAdded" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.MountAddedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.MountAddedHandler" /> to an event, add the MountAddedHandler instance to the event.  The methods referenced by the MountAddedHandler instance are invoked whenever the event is raised, until the MountAddedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/MountChangedArgs.xml b/doc/en/GLib/MountChangedArgs.xml
index 9c36614..0d4a909 100644
--- a/doc/en/GLib/MountChangedArgs.xml
+++ b/doc/en/GLib/MountChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountChanged" /> event invokes <see cref="T:GLib.MountChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.MountChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.MountChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Mount">
-      <MemberSignature Language="C#" Value="public GLib.Mount Mount { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount Mount" />
+      <MemberSignature Language="C#" Value="public GLib.IMount Mount { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount Mount" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/MountChangedHandler.xml b/doc/en/GLib/MountChangedHandler.xml
index 0c6d7b4..09c9658 100644
--- a/doc/en/GLib/MountChangedHandler.xml
+++ b/doc/en/GLib/MountChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.MountChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.MountChangedHandler" /> to an event, add the MountChangedHandler instance to the event.  The methods referenced by the MountChangedHandler instance are invoked whenever the event is raised, until the MountChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/MountOperation.xml b/doc/en/GLib/MountOperation.xml
index d4dd691..916a019 100644
--- a/doc/en/GLib/MountOperation.xml
+++ b/doc/en/GLib/MountOperation.xml
@@ -39,9 +39,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -187,9 +187,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.MountOperation" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -207,8 +207,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.MountOperation.Aborted" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.MountOperation.Aborted" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -307,8 +307,8 @@
         <param name="message">To be added.</param>
         <param name="processes">To be added.</param>
         <param name="choices">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.MountOperation.ShowProcesses" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.MountOperation.ShowProcesses" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/MountPreUnmountArgs.xml b/doc/en/GLib/MountPreUnmountArgs.xml
index 93aa656..e4c3b05 100644
--- a/doc/en/GLib/MountPreUnmountArgs.xml
+++ b/doc/en/GLib/MountPreUnmountArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountPreUnmount" /> event invokes <see cref="T:GLib.MountPreUnmountHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.MountPreUnmountArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.MountPreUnmountHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Mount">
-      <MemberSignature Language="C#" Value="public GLib.Mount Mount { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount Mount" />
+      <MemberSignature Language="C#" Value="public GLib.IMount Mount { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount Mount" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/MountPreUnmountHandler.xml b/doc/en/GLib/MountPreUnmountHandler.xml
index 248788f..4f993a5 100644
--- a/doc/en/GLib/MountPreUnmountHandler.xml
+++ b/doc/en/GLib/MountPreUnmountHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountPreUnmount" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.MountPreUnmountArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.MountPreUnmountHandler" /> to an event, add the MountPreUnmountHandler instance to the event.  The methods referenced by the MountPreUnmountHandler instance are invoked whenever the event is raised, until the MountPreUnmountHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/MountRemovedArgs.xml b/doc/en/GLib/MountRemovedArgs.xml
index e220c5a..25cdda4 100644
--- a/doc/en/GLib/MountRemovedArgs.xml
+++ b/doc/en/GLib/MountRemovedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountRemoved" /> event invokes <see cref="T:GLib.MountRemovedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.MountRemovedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.MountRemovedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Mount">
-      <MemberSignature Language="C#" Value="public GLib.Mount Mount { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount Mount" />
+      <MemberSignature Language="C#" Value="public GLib.IMount Mount { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount Mount" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/MountRemovedHandler.xml b/doc/en/GLib/MountRemovedHandler.xml
index 5a63d53..82d4fb3 100644
--- a/doc/en/GLib/MountRemovedHandler.xml
+++ b/doc/en/GLib/MountRemovedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.MountRemoved" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.MountRemovedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.MountRemovedHandler" /> to an event, add the MountRemovedHandler instance to the event.  The methods referenced by the MountRemovedHandler instance are invoked whenever the event is raised, until the MountRemovedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Spinner.xml b/doc/en/GLib/Mutex.xml
similarity index 58%
copy from doc/en/Gtk/Spinner.xml
copy to doc/en/GLib/Mutex.xml
index 97954a8..08c3999 100644
--- a/doc/en/Gtk/Spinner.xml
+++ b/doc/en/GLib/Mutex.xml
@@ -1,11 +1,11 @@
-<Type Name="Spinner" FullName="Gtk.Spinner">
-  <TypeSignature Language="C#" Value="public class Spinner : Gtk.Widget" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Spinner extends Gtk.Widget" />
+<Type Name="Mutex" FullName="GLib.Mutex">
+  <TypeSignature Language="C#" Value="public class Mutex : GLib.Opaque" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Mutex extends GLib.Opaque" />
   <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
+    <AssemblyName>glib-sharp</AssemblyName>
   </AssemblyInfo>
   <Base>
-    <BaseTypeName>Gtk.Widget</BaseTypeName>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
   </Base>
   <Interfaces />
   <Docs>
@@ -15,18 +15,7 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Spinner ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Spinner (IntPtr raw);" />
+      <MemberSignature Language="C#" Value="public Mutex (IntPtr raw);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
@@ -39,42 +28,37 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Active">
-      <MemberSignature Language="C#" Value="public bool Active { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance bool Active" />
-      <MemberType>Property</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("active")</AttributeName>
-        </Attribute>
-      </Attributes>
+    <Member MemberName="Clear">
+      <MemberSignature Language="C#" Value="public void Clear ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clear() cil managed" />
+      <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
+      <Parameters />
       <Docs>
         <summary>To be added.</summary>
-        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
-      <MemberType>Property</MemberType>
+    <Member MemberName="Init">
+      <MemberSignature Language="C#" Value="public void Init ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Init() cil managed" />
+      <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
+      <Parameters />
       <Docs>
         <summary>To be added.</summary>
-        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Start">
-      <MemberSignature Language="C#" Value="public void Start ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Start() cil managed" />
+    <Member MemberName="Lock">
+      <MemberSignature Language="C#" Value="public void Lock ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Lock() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
@@ -86,9 +70,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Stop">
-      <MemberSignature Language="C#" Value="public void Stop ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Stop() cil managed" />
+    <Member MemberName="Trylock">
+      <MemberSignature Language="C#" Value="public bool Trylock ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Trylock() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Unlock">
+      <MemberSignature Language="C#" Value="public void Unlock ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Unlock() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
diff --git a/doc/en/GLib/NativeVolumeMonitor.xml b/doc/en/GLib/NativeVolumeMonitor.xml
index 38c7482..8c68b08 100644
--- a/doc/en/GLib/NativeVolumeMonitor.xml
+++ b/doc/en/GLib/NativeVolumeMonitor.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.NativeVolumeMonitor" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/NetworkAddress.xml b/doc/en/GLib/NetworkAddress.xml
index 4067a9e..ee08b9c 100644
--- a/doc/en/GLib/NetworkAddress.xml
+++ b/doc/en/GLib/NetworkAddress.xml
@@ -1,6 +1,6 @@
 <Type Name="NetworkAddress" FullName="GLib.NetworkAddress">
-  <TypeSignature Language="C#" Value="public class NetworkAddress : GLib.Object, GLib.SocketConnectable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NetworkAddress extends GLib.Object implements class GLib.IWrapper, class GLib.SocketConnectable" />
+  <TypeSignature Language="C#" Value="public class NetworkAddress : GLib.Object, GLib.ISocketConnectable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NetworkAddress extends GLib.Object implements class GLib.ISocketConnectable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.SocketConnectable</InterfaceName>
+      <InterfaceName>GLib.ISocketConnectable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -71,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.NetworkAddress" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -97,11 +97,11 @@
       </Docs>
     </Member>
     <Member MemberName="Parse">
-      <MemberSignature Language="C#" Value="public static GLib.SocketConnectable Parse (string host_and_port, ushort default_port);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.SocketConnectable Parse(string host_and_port, unsigned int16 default_port) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ISocketConnectable Parse (string host_and_port, ushort default_port);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ISocketConnectable Parse(string host_and_port, unsigned int16 default_port) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="host_and_port" Type="System.String" />
@@ -117,11 +117,11 @@
       </Docs>
     </Member>
     <Member MemberName="ParseUri">
-      <MemberSignature Language="C#" Value="public static GLib.SocketConnectable ParseUri (string uri, ushort default_port);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.SocketConnectable ParseUri(string uri, unsigned int16 default_port) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ISocketConnectable ParseUri (string uri, ushort default_port);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ISocketConnectable ParseUri(string uri, unsigned int16 default_port) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uri" Type="System.String" />
diff --git a/doc/en/GLib/NetworkService.xml b/doc/en/GLib/NetworkService.xml
index d98c915..d485cec 100644
--- a/doc/en/GLib/NetworkService.xml
+++ b/doc/en/GLib/NetworkService.xml
@@ -1,6 +1,6 @@
 <Type Name="NetworkService" FullName="GLib.NetworkService">
-  <TypeSignature Language="C#" Value="public class NetworkService : GLib.Object, GLib.SocketConnectable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NetworkService extends GLib.Object implements class GLib.IWrapper, class GLib.SocketConnectable" />
+  <TypeSignature Language="C#" Value="public class NetworkService : GLib.Object, GLib.ISocketConnectable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NetworkService extends GLib.Object implements class GLib.ISocketConnectable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.SocketConnectable</InterfaceName>
+      <InterfaceName>GLib.ISocketConnectable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -92,9 +92,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.NetworkService" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/NewConnectionArgs.xml b/doc/en/GLib/NewConnectionArgs.xml
index 58fd6c4..aac109a 100644
--- a/doc/en/GLib/NewConnectionArgs.xml
+++ b/doc/en/GLib/NewConnectionArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusServer.NewConnection" /> event invokes <see cref="T:GLib.NewConnectionHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.NewConnectionArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.NewConnectionHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/NewConnectionHandler.xml b/doc/en/GLib/NewConnectionHandler.xml
index 257f827..4e99e5f 100644
--- a/doc/en/GLib/NewConnectionHandler.xml
+++ b/doc/en/GLib/NewConnectionHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.DBusServer.NewConnection" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.NewConnectionArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.NewConnectionHandler" /> to an event, add the NewConnectionHandler instance to the event.  The methods referenced by the NewConnectionHandler instance are invoked whenever the event is raised, until the NewConnectionHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/Object.xml b/doc/en/GLib/Object.xml
index 2658f63..a2cbfd5 100644
--- a/doc/en/GLib/Object.xml
+++ b/doc/en/GLib/Object.xml
@@ -390,6 +390,11 @@ This method is called by the generated classes by the Gtk# framework.
       <MemberSignature Language="C#" Value="public static void OverrideProperty (IntPtr declaring_class, string name);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig void OverrideProperty(native int declaring_class, string name) cil managed" />
       <MemberType>Method</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>System.Obsolete("Use OverrideProperty(oclass,property_id,name)")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
@@ -405,6 +410,27 @@ This method is called by the generated classes by the Gtk# framework.
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="OverrideProperty">
+      <MemberSignature Language="C#" Value="public static void OverrideProperty (IntPtr oclass, uint property_id, string name);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void OverrideProperty(native int oclass, unsigned int32 property_id, string name) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="oclass" Type="System.IntPtr" />
+        <Parameter Name="property_id" Type="System.UInt32" />
+        <Parameter Name="name" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="oclass">To be added.</param>
+        <param name="property_id">To be added.</param>
+        <param name="name">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="OverrideVirtualMethod">
       <MemberSignature Language="C#" Value="protected static void OverrideVirtualMethod (GLib.GType gtype, string name, Delegate cb);" />
       <MemberSignature Language="ILAsm" Value=".method familystatic hidebysig void OverrideVirtualMethod(valuetype GLib.GType gtype, string name, class System.Delegate cb) cil managed" />
@@ -557,6 +583,24 @@ This method is called by the generated classes by the Gtk# framework.
         <remarks>To be added</remarks>
       </Docs>
     </Member>
+    <Member MemberName="TryGetObject">
+      <MemberSignature Language="C#" Value="public static GLib.Object TryGetObject (IntPtr o);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Object TryGetObject(native int o) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Object</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="o" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="o">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="TypeName">
       <MemberSignature Language="C#" Value="protected string TypeName { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance string TypeName" />
diff --git a/doc/en/GLib/ObjectManager.xml b/doc/en/GLib/ObjectManager.xml
index ee65569..5755aa7 100644
--- a/doc/en/GLib/ObjectManager.xml
+++ b/doc/en/GLib/ObjectManager.xml
@@ -1,6 +1,6 @@
 <Type Name="ObjectManager" FullName="GLib.ObjectManager">
-  <TypeSignature Language="C#" Value="public class ObjectManager" Maintainer="auto" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ObjectManager extends System.Object" />
+  <TypeSignature Language="C#" Value="public static class ObjectManager" Maintainer="auto" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit ObjectManager extends System.Object" />
   <AssemblyInfo>
     <AssemblyName>glib-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -16,17 +16,6 @@
     <remarks />
   </Docs>
   <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ObjectManager ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Do Not Use.</summary>
-        <remarks />
-      </Docs>
-    </Member>
     <Member MemberName="CreateObject">
       <MemberSignature Language="C#" Value="public static GLib.Object CreateObject (IntPtr raw);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Object CreateObject(native int raw) cil managed" />
diff --git a/doc/en/GLib/OpenedArgs.xml b/doc/en/GLib/OpenedArgs.xml
index 7ed5c63..a2587eb 100644
--- a/doc/en/GLib/OpenedArgs.xml
+++ b/doc/en/GLib/OpenedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Application.Opened" /> event invokes <see cref="T:GLib.OpenedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.OpenedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.OpenedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Files">
-      <MemberSignature Language="C#" Value="public GLib.File Files { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File Files" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Files { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile Files" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/OpenedHandler.xml b/doc/en/GLib/OpenedHandler.xml
index a1ddc2d..1e3125d 100644
--- a/doc/en/GLib/OpenedHandler.xml
+++ b/doc/en/GLib/OpenedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Application.Opened" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.OpenedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.OpenedHandler" /> to an event, add the OpenedHandler instance to the event.  The methods referenced by the OpenedHandler instance are invoked whenever the event is raised, until the OpenedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/OutputStream.xml b/doc/en/GLib/OutputStream.xml
index b73fe6c..25afe2b 100644
--- a/doc/en/GLib/OutputStream.xml
+++ b/doc/en/GLib/OutputStream.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -93,21 +93,21 @@
       </Docs>
     </Member>
     <Member MemberName="CloseFinish">
-      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool CloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool CloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Flush">
@@ -150,21 +150,21 @@
       </Docs>
     </Member>
     <Member MemberName="FlushFinish">
-      <MemberSignature Language="C#" Value="public bool FlushFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool FlushFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool FlushFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool FlushFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -175,9 +175,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.OutputStream" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -250,8 +250,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnCloseFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnCloseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCloseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -262,14 +262,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnCloseFn">
@@ -345,8 +345,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnFlushFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnFlushFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnFlushFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnFlushFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnFlushFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -357,14 +357,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnSplice">
@@ -425,8 +425,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnSpliceFinish">
-      <MemberSignature Language="C#" Value="protected virtual long OnSpliceFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnSpliceFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual long OnSpliceFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnSpliceFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -437,14 +437,14 @@
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnWriteAsync">
@@ -478,8 +478,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnWriteFinish">
-      <MemberSignature Language="C#" Value="protected virtual long OnWriteFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnWriteFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual long OnWriteFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnWriteFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -490,14 +490,14 @@
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnWriteFn">
@@ -590,21 +590,21 @@
       </Docs>
     </Member>
     <Member MemberName="SpliceFinish">
-      <MemberSignature Language="C#" Value="public long SpliceFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 SpliceFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public long SpliceFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 SpliceFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Write">
@@ -679,21 +679,21 @@
       </Docs>
     </Member>
     <Member MemberName="WriteFinish">
-      <MemberSignature Language="C#" Value="public long WriteFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 WriteFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public long WriteFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int64 WriteFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Int64</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/GLib/Permission.xml b/doc/en/GLib/Permission.xml
index ba11924..ee8a580 100644
--- a/doc/en/GLib/Permission.xml
+++ b/doc/en/GLib/Permission.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -77,14 +77,14 @@
       </Docs>
     </Member>
     <Member MemberName="AcquireFinish">
-      <MemberSignature Language="C#" Value="public bool AcquireFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool AcquireFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool AcquireFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool AcquireFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -159,9 +159,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Permission" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -234,8 +234,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnAcquireFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnAcquireFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnAcquireFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnAcquireFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnAcquireFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -246,7 +246,7 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -304,8 +304,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnReleaseFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnReleaseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnReleaseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnReleaseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnReleaseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -316,7 +316,7 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -364,14 +364,14 @@
       </Docs>
     </Member>
     <Member MemberName="ReleaseFinish">
-      <MemberSignature Language="C#" Value="public bool ReleaseFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool ReleaseFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool ReleaseFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool ReleaseFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/PollFD.xml b/doc/en/GLib/PollFD.xml
new file mode 100644
index 0000000..ed67917
--- /dev/null
+++ b/doc/en/GLib/PollFD.xml
@@ -0,0 +1,193 @@
+<Type Name="PollFD" FullName="GLib.PollFD">
+  <TypeSignature Language="C#" Value="public struct PollFD : IEquatable<GLib.PollFD>" />
+  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit PollFD extends System.ValueType implements class System.IEquatable`1<valuetype GLib.PollFD>" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.ValueType</BaseTypeName>
+  </Base>
+  <Interfaces>
+    <Interface>
+      <InterfaceName>System.IEquatable<GLib.PollFD></InterfaceName>
+    </Interface>
+  </Interfaces>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public bool Equals (GLib.PollFD other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype GLib.PollFD other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="GLib.PollFD" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="System.Object" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Events">
+      <MemberSignature Language="C#" Value="public ushort Events;" />
+      <MemberSignature Language="ILAsm" Value=".field public unsigned int16 Events" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt16</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Fd">
+      <MemberSignature Language="C#" Value="public int Fd;" />
+      <MemberSignature Language="ILAsm" Value=".field public int32 Fd" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetHashCode">
+      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GType">
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="New">
+      <MemberSignature Language="C#" Value="public static GLib.PollFD New (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.PollFD New(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.PollFD</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="op_Explicit">
+      <MemberSignature Language="C#" Value="public static GLib.Value op_Explicit (GLib.PollFD boxed);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname valuetype GLib.Value op_Explicit(valuetype GLib.PollFD boxed) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Value</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="boxed" Type="GLib.PollFD" />
+      </Parameters>
+      <Docs>
+        <param name="boxed">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="op_Explicit">
+      <MemberSignature Language="C#" Value="public static GLib.PollFD op_Explicit (GLib.Value val);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname valuetype GLib.PollFD op_Explicit(valuetype GLib.Value val) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.PollFD</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="val" Type="GLib.Value" />
+      </Parameters>
+      <Docs>
+        <param name="val">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Revents">
+      <MemberSignature Language="C#" Value="public ushort Revents;" />
+      <MemberSignature Language="ILAsm" Value=".field public unsigned int16 Revents" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt16</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Zero">
+      <MemberSignature Language="C#" Value="public static GLib.PollFD Zero;" />
+      <MemberSignature Language="ILAsm" Value=".field public static valuetype GLib.PollFD Zero" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.PollFD</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/PollableInputStreamAdapter.xml b/doc/en/GLib/PollableInputStreamAdapter.xml
index 316fe5b..462dd30 100644
--- a/doc/en/GLib/PollableInputStreamAdapter.xml
+++ b/doc/en/GLib/PollableInputStreamAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="PollableInputStreamAdapter" FullName="GLib.PollableInputStreamAdapter">
-  <TypeSignature Language="C#" Value="public class PollableInputStreamAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.PollableInputStream" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi PollableInputStreamAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.PollableInputStream" />
+  <TypeSignature Language="C#" Value="public class PollableInputStreamAdapter : GLib.GInterfaceAdapter, GLib.IPollableInputStream, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi PollableInputStreamAdapter extends GLib.GInterfaceAdapter implements class GLib.IPollableInputStream, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.IPollableInputStream</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.PollableInputStream</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PollableInputStreamAdapter (GLib.PollableInputStreamImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.PollableInputStreamImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public PollableInputStreamAdapter (GLib.IPollableInputStreamImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IPollableInputStreamImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.PollableInputStreamImplementor" />
+        <Parameter Name="implementor" Type="GLib.IPollableInputStreamImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -75,12 +75,30 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.PollableInputStream GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.PollableInputStream GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IPollableInputStream GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IPollableInputStream GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.PollableInputStream</ReturnType>
+        <ReturnType>GLib.IPollableInputStream</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -94,11 +112,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.PollableInputStream GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.PollableInputStream GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IPollableInputStream GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IPollableInputStream GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.PollableInputStream</ReturnType>
+        <ReturnType>GLib.IPollableInputStream</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -113,9 +131,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -142,11 +174,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.PollableInputStreamImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.PollableInputStreamImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IPollableInputStreamImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IPollableInputStreamImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.PollableInputStreamImplementor</ReturnType>
+        <ReturnType>GLib.IPollableInputStreamImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/PollableOutputStreamAdapter.xml b/doc/en/GLib/PollableOutputStreamAdapter.xml
index d346fa0..9593e3d 100644
--- a/doc/en/GLib/PollableOutputStreamAdapter.xml
+++ b/doc/en/GLib/PollableOutputStreamAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="PollableOutputStreamAdapter" FullName="GLib.PollableOutputStreamAdapter">
-  <TypeSignature Language="C#" Value="public class PollableOutputStreamAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.PollableOutputStream" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi PollableOutputStreamAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.PollableOutputStream" />
+  <TypeSignature Language="C#" Value="public class PollableOutputStreamAdapter : GLib.GInterfaceAdapter, GLib.IPollableOutputStream, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi PollableOutputStreamAdapter extends GLib.GInterfaceAdapter implements class GLib.IPollableOutputStream, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.IPollableOutputStream</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.PollableOutputStream</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PollableOutputStreamAdapter (GLib.PollableOutputStreamImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.PollableOutputStreamImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public PollableOutputStreamAdapter (GLib.IPollableOutputStreamImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IPollableOutputStreamImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.PollableOutputStreamImplementor" />
+        <Parameter Name="implementor" Type="GLib.IPollableOutputStreamImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -75,12 +75,30 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.PollableOutputStream GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.PollableOutputStream GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IPollableOutputStream GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IPollableOutputStream GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.PollableOutputStream</ReturnType>
+        <ReturnType>GLib.IPollableOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -94,11 +112,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.PollableOutputStream GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.PollableOutputStream GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IPollableOutputStream GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IPollableOutputStream GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.PollableOutputStream</ReturnType>
+        <ReturnType>GLib.IPollableOutputStream</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -113,9 +131,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -142,11 +174,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.PollableOutputStreamImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.PollableOutputStreamImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IPollableOutputStreamImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IPollableOutputStreamImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.PollableOutputStreamImplementor</ReturnType>
+        <ReturnType>GLib.IPollableOutputStreamImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/ProxyAdapter.xml b/doc/en/GLib/ProxyAdapter.xml
index b853ac5..9a2d06e 100644
--- a/doc/en/GLib/ProxyAdapter.xml
+++ b/doc/en/GLib/ProxyAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ProxyAdapter" FullName="GLib.ProxyAdapter">
-  <TypeSignature Language="C#" Value="public class ProxyAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.Proxy" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ProxyAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.Proxy" />
+  <TypeSignature Language="C#" Value="public class ProxyAdapter : GLib.GInterfaceAdapter, GLib.IProxy, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ProxyAdapter extends GLib.GInterfaceAdapter implements class GLib.IProxy, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.IProxy</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Proxy</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ProxyAdapter (GLib.ProxyImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ProxyImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ProxyAdapter (GLib.IProxyImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IProxyImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.ProxyImplementor" />
+        <Parameter Name="implementor" Type="GLib.IProxyImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -106,14 +106,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectFinish">
-      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -124,11 +124,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetDefaultForProtocol">
-      <MemberSignature Language="C#" Value="public static GLib.Proxy GetDefaultForProtocol (string protocol);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Proxy GetDefaultForProtocol(string protocol) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IProxy GetDefaultForProtocol (string protocol);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IProxy GetDefaultForProtocol(string protocol) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Proxy</ReturnType>
+        <ReturnType>GLib.IProxy</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="protocol" Type="System.String" />
@@ -142,11 +142,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Proxy GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Proxy GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IProxy GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IProxy GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Proxy</ReturnType>
+        <ReturnType>GLib.IProxy</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -160,11 +160,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Proxy GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Proxy GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IProxy GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IProxy GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Proxy</ReturnType>
+        <ReturnType>GLib.IProxy</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -179,9 +179,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -208,11 +222,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.ProxyImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ProxyImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IProxyImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IProxyImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ProxyImplementor</ReturnType>
+        <ReturnType>GLib.IProxyImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/ProxyAddress.xml b/doc/en/GLib/ProxyAddress.xml
index 3881a57..49ef0a7 100644
--- a/doc/en/GLib/ProxyAddress.xml
+++ b/doc/en/GLib/ProxyAddress.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -100,9 +100,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ProxyAddress" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ProxyAddressEnumerator.xml b/doc/en/GLib/ProxyAddressEnumerator.xml
index 594694f..4dced80 100644
--- a/doc/en/GLib/ProxyAddressEnumerator.xml
+++ b/doc/en/GLib/ProxyAddressEnumerator.xml
@@ -33,15 +33,15 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Connectable">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnectable Connectable { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SocketConnectable Connectable" />
+      <MemberSignature Language="C#" Value="public GLib.ISocketConnectable Connectable { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ISocketConnectable Connectable" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -49,7 +49,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -66,9 +66,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ProxyAddressEnumerator" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ProxyResolverAdapter.xml b/doc/en/GLib/ProxyResolverAdapter.xml
index 27dcb4f..bdf95a7 100644
--- a/doc/en/GLib/ProxyResolverAdapter.xml
+++ b/doc/en/GLib/ProxyResolverAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ProxyResolverAdapter" FullName="GLib.ProxyResolverAdapter">
-  <TypeSignature Language="C#" Value="public class ProxyResolverAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.ProxyResolver" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ProxyResolverAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.ProxyResolver" />
+  <TypeSignature Language="C#" Value="public class ProxyResolverAdapter : GLib.GInterfaceAdapter, GLib.IProxyResolver, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ProxyResolverAdapter extends GLib.GInterfaceAdapter implements class GLib.IProxyResolver, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.IProxyResolver</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.ProxyResolver</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ProxyResolverAdapter (GLib.ProxyResolverImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ProxyResolverImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ProxyResolverAdapter (GLib.IProxyResolverImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IProxyResolverImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.ProxyResolverImplementor" />
+        <Parameter Name="implementor" Type="GLib.IProxyResolverImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="Default">
-      <MemberSignature Language="C#" Value="public static GLib.ProxyResolver Default { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property class GLib.ProxyResolver Default" />
+      <MemberSignature Language="C#" Value="public static GLib.IProxyResolver Default { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property class GLib.IProxyResolver Default" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ProxyResolver</ReturnType>
+        <ReturnType>GLib.IProxyResolver</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -75,11 +75,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.ProxyResolver GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ProxyResolver GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IProxyResolver GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IProxyResolver GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ProxyResolver</ReturnType>
+        <ReturnType>GLib.IProxyResolver</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -93,11 +93,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.ProxyResolver GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ProxyResolver GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IProxyResolver GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IProxyResolver GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ProxyResolver</ReturnType>
+        <ReturnType>GLib.IProxyResolver</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -112,9 +112,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -141,11 +155,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.ProxyResolverImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ProxyResolverImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.IProxyResolverImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IProxyResolverImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.ProxyResolverImplementor</ReturnType>
+        <ReturnType>GLib.IProxyResolverImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -210,14 +224,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupFinish">
-      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string LookupFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string LookupFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/Gtk/Spinner.xml b/doc/en/GLib/RecMutex.xml
similarity index 58%
copy from doc/en/Gtk/Spinner.xml
copy to doc/en/GLib/RecMutex.xml
index 97954a8..0b4910c 100644
--- a/doc/en/Gtk/Spinner.xml
+++ b/doc/en/GLib/RecMutex.xml
@@ -1,11 +1,11 @@
-<Type Name="Spinner" FullName="Gtk.Spinner">
-  <TypeSignature Language="C#" Value="public class Spinner : Gtk.Widget" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Spinner extends Gtk.Widget" />
+<Type Name="RecMutex" FullName="GLib.RecMutex">
+  <TypeSignature Language="C#" Value="public class RecMutex : GLib.Opaque" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecMutex extends GLib.Opaque" />
   <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
+    <AssemblyName>glib-sharp</AssemblyName>
   </AssemblyInfo>
   <Base>
-    <BaseTypeName>Gtk.Widget</BaseTypeName>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
   </Base>
   <Interfaces />
   <Docs>
@@ -15,18 +15,7 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Spinner ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Spinner (IntPtr raw);" />
+      <MemberSignature Language="C#" Value="public RecMutex (IntPtr raw);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
@@ -39,42 +28,37 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Active">
-      <MemberSignature Language="C#" Value="public bool Active { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance bool Active" />
-      <MemberType>Property</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("active")</AttributeName>
-        </Attribute>
-      </Attributes>
+    <Member MemberName="Clear">
+      <MemberSignature Language="C#" Value="public void Clear ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Clear() cil managed" />
+      <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
+      <Parameters />
       <Docs>
         <summary>To be added.</summary>
-        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
-      <MemberType>Property</MemberType>
+    <Member MemberName="Init">
+      <MemberSignature Language="C#" Value="public void Init ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Init() cil managed" />
+      <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
+      <Parameters />
       <Docs>
         <summary>To be added.</summary>
-        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Start">
-      <MemberSignature Language="C#" Value="public void Start ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Start() cil managed" />
+    <Member MemberName="Lock">
+      <MemberSignature Language="C#" Value="public void Lock ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Lock() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
@@ -86,9 +70,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Stop">
-      <MemberSignature Language="C#" Value="public void Stop ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Stop() cil managed" />
+    <Member MemberName="Trylock">
+      <MemberSignature Language="C#" Value="public bool Trylock ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Trylock() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Unlock">
+      <MemberSignature Language="C#" Value="public void Unlock ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Unlock() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
diff --git a/doc/en/GLib/ReplyArgs.xml b/doc/en/GLib/ReplyArgs.xml
index 5ef8ab6..57b63b5 100644
--- a/doc/en/GLib/ReplyArgs.xml
+++ b/doc/en/GLib/ReplyArgs.xml
@@ -22,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ReplyArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ReplyHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ReplyHandler.xml b/doc/en/GLib/ReplyHandler.xml
index 9c3b97a..8624e49 100644
--- a/doc/en/GLib/ReplyHandler.xml
+++ b/doc/en/GLib/ReplyHandler.xml
@@ -15,8 +15,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>See <see cref="M:GLib.MountOperation.Reply" />.</remarks>
     <since version="Gtk# 2.14" />
diff --git a/doc/en/GLib/Resolver.xml b/doc/en/GLib/Resolver.xml
index 8bebf63..c947fe3 100644
--- a/doc/en/GLib/Resolver.xml
+++ b/doc/en/GLib/Resolver.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -110,9 +110,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Resolver" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -158,14 +158,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupByAddressFinish">
-      <MemberSignature Language="C#" Value="public string LookupByAddressFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string LookupByAddressFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public string LookupByAddressFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string LookupByAddressFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -176,11 +176,11 @@
       </Docs>
     </Member>
     <Member MemberName="LookupByName">
-      <MemberSignature Language="C#" Value="public GLib.List LookupByName (string hostname, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List LookupByName(string hostname, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.InetAddress[] LookupByName (string hostname, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.InetAddress[] LookupByName(string hostname, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.InetAddress[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="hostname" Type="System.String" />
@@ -217,14 +217,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupByNameFinish">
-      <MemberSignature Language="C#" Value="public GLib.List LookupByNameFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List LookupByNameFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.InetAddress[] LookupByNameFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.InetAddress[] LookupByNameFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.InetAddress[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -235,11 +235,11 @@
       </Docs>
     </Member>
     <Member MemberName="LookupService">
-      <MemberSignature Language="C#" Value="public GLib.List LookupService (string service, string protocol, string domain, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List LookupService(string service, string protocol, string domain, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SrvTarget[] LookupService (string service, string protocol, string domain, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SrvTarget[] LookupService(string service, string protocol, string domain, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.SrvTarget[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="service" Type="System.String" />
@@ -284,14 +284,14 @@
       </Docs>
     </Member>
     <Member MemberName="LookupServiceFinish">
-      <MemberSignature Language="C#" Value="public GLib.List LookupServiceFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List LookupServiceFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SrvTarget[] LookupServiceFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SrvTarget[] LookupServiceFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.SrvTarget[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -353,8 +353,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnLookupByAddressFinish">
-      <MemberSignature Language="C#" Value="protected virtual string OnLookupByAddressFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string OnLookupByAddressFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual string OnLookupByAddressFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance string OnLookupByAddressFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -365,7 +365,7 @@
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -376,8 +376,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnLookupByName">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnLookupByName (string hostname, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnLookupByName(string hostname, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.InetAddress[] OnLookupByName (string hostname, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.InetAddress[] OnLookupByName(string hostname, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -385,7 +385,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.InetAddress[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="hostname" Type="System.String" />
@@ -427,8 +427,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnLookupByNameFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnLookupByNameFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnLookupByNameFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.InetAddress[] OnLookupByNameFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.InetAddress[] OnLookupByNameFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -436,10 +436,10 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.InetAddress[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -450,8 +450,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnLookupService">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnLookupService (string rrname, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnLookupService(string rrname, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.SrvTarget[] OnLookupService (string rrname, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.SrvTarget[] OnLookupService(string rrname, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -459,7 +459,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.SrvTarget[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="rrname" Type="System.String" />
@@ -501,8 +501,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnLookupServiceFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnLookupServiceFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnLookupServiceFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.SrvTarget[] OnLookupServiceFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.SrvTarget[] OnLookupServiceFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -510,10 +510,10 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.SrvTarget[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -537,8 +537,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Resolver.Reload" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Resolver.Reload" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/RunArgs.xml b/doc/en/GLib/RunArgs.xml
index a834a90..7ffad2f 100644
--- a/doc/en/GLib/RunArgs.xml
+++ b/doc/en/GLib/RunArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.ThreadedSocketService.Run" /> event invokes <see cref="T:GLib.RunHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.RunArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.RunHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/RunHandler.xml b/doc/en/GLib/RunHandler.xml
index 40306e8..3a4874a 100644
--- a/doc/en/GLib/RunHandler.xml
+++ b/doc/en/GLib/RunHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.ThreadedSocketService.Run" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.RunArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.RunHandler" /> to an event, add the RunHandler instance to the event.  The methods referenced by the RunHandler instance are invoked whenever the event is raised, until the RunHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/SeekableAdapter.xml b/doc/en/GLib/SeekableAdapter.xml
index d07f181..7526517 100644
--- a/doc/en/GLib/SeekableAdapter.xml
+++ b/doc/en/GLib/SeekableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="SeekableAdapter" FullName="GLib.SeekableAdapter">
-  <TypeSignature Language="C#" Value="public class SeekableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.Seekable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi SeekableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.Seekable" />
+  <TypeSignature Language="C#" Value="public class SeekableAdapter : GLib.GInterfaceAdapter, GLib.ISeekable, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SeekableAdapter extends GLib.GInterfaceAdapter implements class GLib.ISeekable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.ISeekable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Seekable</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -22,31 +22,6 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SeekableAdapter ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SeekableAdapter (GLib.SeekableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.SeekableImplementor implementor) cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="implementor" Type="GLib.SeekableImplementor" />
-      </Parameters>
-      <Docs>
-        <param name="implementor">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public SeekableAdapter (IntPtr handle);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int handle) cil managed" />
       <MemberType>Constructor</MemberType>
@@ -90,11 +65,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Seekable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Seekable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ISeekable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ISeekable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Seekable</ReturnType>
+        <ReturnType>GLib.ISeekable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -104,15 +79,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Seekable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Seekable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ISeekable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ISeekable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Seekable</ReturnType>
+        <ReturnType>GLib.ISeekable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -124,12 +99,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -138,15 +113,15 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Handle">
-      <MemberSignature Language="C#" Value="public override IntPtr Handle { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
+    <Member MemberName="GType">
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
+        <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -155,12 +130,12 @@
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
-    <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.SeekableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SeekableImplementor Implementor" />
+    <Member MemberName="Handle">
+      <MemberSignature Language="C#" Value="public override IntPtr Handle { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance native int Handle" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SeekableImplementor</ReturnType>
+        <ReturnType>System.IntPtr</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/SeekableImplementor.xml b/doc/en/GLib/SeekableImplementor.xml
deleted file mode 100644
index f43a0d9..0000000
--- a/doc/en/GLib/SeekableImplementor.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<Type Name="SeekableImplementor" FullName="GLib.SeekableImplementor">
-  <TypeSignature Language="C#" Value="public interface SeekableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract SeekableImplementor implements class GLib.IWrapper" />
-  <AssemblyInfo>
-    <AssemblyName>gio-sharp</AssemblyName>
-  </AssemblyInfo>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
-    </Interface>
-  </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(GLib.SeekableAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
-  </Docs>
-  <Members>
-    <Member MemberName="CanTruncate">
-      <MemberSignature Language="C#" Value="public bool CanTruncate ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool CanTruncate() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="Seek">
-      <MemberSignature Language="C#" Value="public bool Seek (long offset, GLib.SeekType type, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Seek(int64 offset, valuetype GLib.SeekType type, class GLib.Cancellable cancellable) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="offset" Type="System.Int64" />
-        <Parameter Name="type" Type="GLib.SeekType" />
-        <Parameter Name="cancellable" Type="GLib.Cancellable" />
-      </Parameters>
-      <Docs>
-        <param name="offset">To be added.</param>
-        <param name="type">To be added.</param>
-        <param name="cancellable">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/GLib/Settings.xml b/doc/en/GLib/Settings.xml
index 48888d0..48b51bd 100644
--- a/doc/en/GLib/Settings.xml
+++ b/doc/en/GLib/Settings.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -454,11 +454,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetStrv">
-      <MemberSignature Language="C#" Value="public string GetStrv (string key);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetStrv(string key) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetStrv (string key);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] GetStrv(string key) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="key" Type="System.String" />
@@ -497,9 +497,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Settings" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -541,11 +541,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListChildren">
-      <MemberSignature Language="C#" Value="public string ListChildren ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ListChildren() cil managed" />
+      <MemberSignature Language="C#" Value="public string[] ListChildren ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] ListChildren() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -556,11 +556,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListKeys">
-      <MemberSignature Language="C#" Value="public string ListKeys ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ListKeys() cil managed" />
+      <MemberSignature Language="C#" Value="public string[] ListKeys ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] ListKeys() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -571,11 +571,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListRelocatableSchemas">
-      <MemberSignature Language="C#" Value="public static string ListRelocatableSchemas ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string ListRelocatableSchemas() cil managed" />
+      <MemberSignature Language="C#" Value="public static string[] ListRelocatableSchemas ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] ListRelocatableSchemas() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -586,11 +586,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListSchemas">
-      <MemberSignature Language="C#" Value="public static string ListSchemas ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string ListSchemas() cil managed" />
+      <MemberSignature Language="C#" Value="public static string[] ListSchemas ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] ListSchemas() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -637,8 +637,8 @@
       </Parameters>
       <Docs>
         <param name="key">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Settings.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Settings.Changed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -661,9 +661,9 @@
       <Docs>
         <param name="keys">To be added.</param>
         <param name="n_keys">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.Settings.ChangeEvent" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Settings.ChangeEvent" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -684,8 +684,8 @@
       </Parameters>
       <Docs>
         <param name="key">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.Settings.WritableChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Settings.WritableChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -706,9 +706,9 @@
       </Parameters>
       <Docs>
         <param name="key">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.Settings.WritableChangeEvent" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.Settings.WritableChangeEvent" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -944,15 +944,15 @@
       </Docs>
     </Member>
     <Member MemberName="SetStrv">
-      <MemberSignature Language="C#" Value="public bool SetStrv (string key, string value);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool SetStrv(string key, string value) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetStrv (string key, string[] value);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool SetStrv(string key, string[] value) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="key" Type="System.String" />
-        <Parameter Name="value" Type="System.String" />
+        <Parameter Name="value" Type="System.String[]" />
       </Parameters>
       <Docs>
         <param name="key">To be added.</param>
diff --git a/doc/en/GLib/SettingsSchema.xml b/doc/en/GLib/SettingsSchema.xml
index be36aa8..69912e9 100644
--- a/doc/en/GLib/SettingsSchema.xml
+++ b/doc/en/GLib/SettingsSchema.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -82,9 +82,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SettingsSchema" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ShowProcessesArgs.xml b/doc/en/GLib/ShowProcessesArgs.xml
index c0bd369..5ba1541 100644
--- a/doc/en/GLib/ShowProcessesArgs.xml
+++ b/doc/en/GLib/ShowProcessesArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.MountOperation.ShowProcesses" /> event invokes <see cref="T:GLib.ShowProcessesHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.ShowProcessesArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.ShowProcessesHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ShowProcessesHandler.xml b/doc/en/GLib/ShowProcessesHandler.xml
index 48c73c3..cca36a4 100644
--- a/doc/en/GLib/ShowProcessesHandler.xml
+++ b/doc/en/GLib/ShowProcessesHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.MountOperation.ShowProcesses" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.ShowProcessesArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.ShowProcessesHandler" /> to an event, add the ShowProcessesHandler instance to the event.  The methods referenced by the ShowProcessesHandler instance are invoked whenever the event is raised, until the ShowProcessesHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/Simple.xml b/doc/en/GLib/Simple.xml
deleted file mode 100644
index 08141e6..0000000
--- a/doc/en/GLib/Simple.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<Type Name="Simple" FullName="GLib.Simple">
-  <TypeSignature Language="C#" Value="public class Simple" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Simple extends System.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gio-sharp</AssemblyName>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.14" />
-  </Docs>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Simple ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="AsyncReportGerrorInIdle">
-      <MemberSignature Language="C#" Value="public static void AsyncReportGerrorInIdle (GLib.Object objekt, GLib.AsyncReadyCallback cb, IntPtr error);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AsyncReportGerrorInIdle(class GLib.Object objekt, class GLib.AsyncReadyCallback cb, native int error) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="objekt" Type="GLib.Object" />
-        <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
-        <Parameter Name="error" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="objekt">To be added.</param>
-        <param name="cb">To be added.</param>
-        <param name="error">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
-      </Docs>
-    </Member>
-    <Member MemberName="AsyncReportTakeGerrorInIdle">
-      <MemberSignature Language="C#" Value="public static void AsyncReportTakeGerrorInIdle (GLib.Object objekt, GLib.AsyncReadyCallback cb, IntPtr error);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AsyncReportTakeGerrorInIdle(class GLib.Object objekt, class GLib.AsyncReadyCallback cb, native int error) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="objekt" Type="GLib.Object" />
-        <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
-        <Parameter Name="error" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="objekt">To be added.</param>
-        <param name="cb">To be added.</param>
-        <param name="error">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/GLib/SimpleAction.xml b/doc/en/GLib/SimpleAction.xml
index ec549bc..6e314cc 100644
--- a/doc/en/GLib/SimpleAction.xml
+++ b/doc/en/GLib/SimpleAction.xml
@@ -1,6 +1,6 @@
 <Type Name="SimpleAction" FullName="GLib.SimpleAction">
-  <TypeSignature Language="C#" Value="public class SimpleAction : GLib.Object, GLib.Action" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleAction extends GLib.Object implements class GLib.Action, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class SimpleAction : GLib.Object, GLib.IAction" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleAction extends GLib.Object implements class GLib.IAction, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Action</InterfaceName>
+      <InterfaceName>GLib.IAction</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -120,9 +120,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GLib.Action.Enabled">
-      <MemberSignature Language="C#" Value="bool GLib.Action.Enabled { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance bool GLib.Action.Enabled" />
+    <Member MemberName="GLib.IAction.Enabled">
+      <MemberSignature Language="C#" Value="bool GLib.IAction.Enabled { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance bool GLib.IAction.Enabled" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -134,9 +134,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GLib.Action.Name">
-      <MemberSignature Language="C#" Value="string GLib.Action.Name { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance string GLib.Action.Name" />
+    <Member MemberName="GLib.IAction.Name">
+      <MemberSignature Language="C#" Value="string GLib.IAction.Name { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string GLib.IAction.Name" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
@@ -148,9 +148,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GLib.Action.ParameterType">
-      <MemberSignature Language="C#" Value="GLib.VariantType GLib.Action.ParameterType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.VariantType GLib.Action.ParameterType" />
+    <Member MemberName="GLib.IAction.ParameterType">
+      <MemberSignature Language="C#" Value="GLib.VariantType GLib.IAction.ParameterType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.VariantType GLib.IAction.ParameterType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.VariantType</ReturnType>
@@ -162,9 +162,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GLib.Action.StateType">
-      <MemberSignature Language="C#" Value="GLib.VariantType GLib.Action.StateType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.VariantType GLib.Action.StateType" />
+    <Member MemberName="GLib.IAction.StateType">
+      <MemberSignature Language="C#" Value="GLib.VariantType GLib.IAction.StateType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.VariantType GLib.IAction.StateType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.VariantType</ReturnType>
@@ -184,9 +184,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SimpleAction" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -226,8 +226,8 @@
       </Parameters>
       <Docs>
         <param name="parameter">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.SimpleAction.Activated" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.SimpleAction.Activated" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SimpleActionGroup.xml b/doc/en/GLib/SimpleActionGroup.xml
index cba4629..5226f51 100644
--- a/doc/en/GLib/SimpleActionGroup.xml
+++ b/doc/en/GLib/SimpleActionGroup.xml
@@ -1,6 +1,6 @@
 <Type Name="SimpleActionGroup" FullName="GLib.SimpleActionGroup">
-  <TypeSignature Language="C#" Value="public class SimpleActionGroup : GLib.Object, GLib.ActionGroup" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleActionGroup extends GLib.Object implements class GLib.ActionGroup, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class SimpleActionGroup : GLib.Object, GLib.IActionGroup" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleActionGroup extends GLib.Object implements class GLib.IActionGroup, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.ActionGroup</InterfaceName>
+      <InterfaceName>GLib.IActionGroup</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -323,9 +323,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SimpleActionGroup" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -348,14 +348,14 @@
       </Docs>
     </Member>
     <Member MemberName="Insert">
-      <MemberSignature Language="C#" Value="public void Insert (GLib.Action action);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Insert(class GLib.Action action) cil managed" />
+      <MemberSignature Language="C#" Value="public void Insert (GLib.IAction action);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Insert(class GLib.IAction action) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="action" Type="GLib.Action" />
+        <Parameter Name="action" Type="GLib.IAction" />
       </Parameters>
       <Docs>
         <param name="action">To be added.</param>
@@ -380,11 +380,11 @@
       </Docs>
     </Member>
     <Member MemberName="Lookup">
-      <MemberSignature Language="C#" Value="public GLib.Action Lookup (string action_name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Action Lookup(string action_name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAction Lookup (string action_name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IAction Lookup(string action_name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Action</ReturnType>
+        <ReturnType>GLib.IAction</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="action_name" Type="System.String" />
@@ -414,8 +414,8 @@
       </Parameters>
       <Docs>
         <param name="action_name">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.SimpleActionGroup.ActionAdded" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.SimpleActionGroup.ActionAdded" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -438,8 +438,8 @@
       <Docs>
         <param name="action_name">To be added.</param>
         <param name="enabled">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.SimpleActionGroup.ActionEnabledChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.SimpleActionGroup.ActionEnabledChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -460,8 +460,8 @@
       </Parameters>
       <Docs>
         <param name="action_name">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.SimpleActionGroup.ActionRemoved" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.SimpleActionGroup.ActionRemoved" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -484,8 +484,8 @@
       <Docs>
         <param name="action_name">To be added.</param>
         <param name="value">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.SimpleActionGroup.ActionStateChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.SimpleActionGroup.ActionStateChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SimpleAsyncResult.xml b/doc/en/GLib/SimpleAsyncResult.xml
index dc102ba..d3f3cec 100644
--- a/doc/en/GLib/SimpleAsyncResult.xml
+++ b/doc/en/GLib/SimpleAsyncResult.xml
@@ -1,6 +1,6 @@
 <Type Name="SimpleAsyncResult" FullName="GLib.SimpleAsyncResult">
-  <TypeSignature Language="C#" Value="public class SimpleAsyncResult : GLib.Object, GLib.AsyncResult" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleAsyncResult extends GLib.Object implements class GLib.AsyncResult, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class SimpleAsyncResult : GLib.Object, GLib.IAsyncResult" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SimpleAsyncResult extends GLib.Object implements class GLib.IAsyncResult, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.AsyncResult</InterfaceName>
+      <InterfaceName>GLib.IAsyncResult</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -95,9 +95,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SimpleAsyncResult" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="HandleCancellation">
@@ -114,14 +114,14 @@
       </Docs>
     </Member>
     <Member MemberName="IsValid">
-      <MemberSignature Language="C#" Value="public static bool IsValid (GLib.AsyncResult result, GLib.Object source, IntPtr source_tag);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsValid(class GLib.AsyncResult result, class GLib.Object source, native int source_tag) cil managed" />
+      <MemberSignature Language="C#" Value="public static bool IsValid (GLib.IAsyncResult result, GLib.Object source, IntPtr source_tag);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsValid(class GLib.IAsyncResult result, class GLib.Object source, native int source_tag) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="source" Type="GLib.Object" />
         <Parameter Name="source_tag" Type="System.IntPtr" />
       </Parameters>
@@ -231,6 +231,48 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="ReportGerrorInIdle">
+      <MemberSignature Language="C#" Value="public static void ReportGerrorInIdle (GLib.Object objekt, GLib.AsyncReadyCallback cb, IntPtr error);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ReportGerrorInIdle(class GLib.Object objekt, class GLib.AsyncReadyCallback cb, native int error) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="objekt" Type="GLib.Object" />
+        <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
+        <Parameter Name="error" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="objekt">To be added.</param>
+        <param name="cb">To be added.</param>
+        <param name="error">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ReportTakeGerrorInIdle">
+      <MemberSignature Language="C#" Value="public static void ReportTakeGerrorInIdle (GLib.Object objekt, GLib.AsyncReadyCallback cb, IntPtr error);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ReportTakeGerrorInIdle(class GLib.Object objekt, class GLib.AsyncReadyCallback cb, native int error) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="objekt" Type="GLib.Object" />
+        <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
+        <Parameter Name="error" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="objekt">To be added.</param>
+        <param name="cb">To be added.</param>
+        <param name="error">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="RunInThread">
       <MemberSignature Language="C#" Value="public void RunInThread (GLib.SimpleAsyncThreadFunc func, int io_priority, GLib.Cancellable cancellable);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RunInThread(class GLib.SimpleAsyncThreadFunc func, int32 io_priority, class GLib.Cancellable cancellable) cil managed" />
diff --git a/doc/en/GLib/SimplePermission.xml b/doc/en/GLib/SimplePermission.xml
index 618bf12..63960d2 100644
--- a/doc/en/GLib/SimplePermission.xml
+++ b/doc/en/GLib/SimplePermission.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -50,9 +50,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SimplePermission" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Socket.xml b/doc/en/GLib/Socket.xml
index 95c14be..aed4146 100644
--- a/doc/en/GLib/Socket.xml
+++ b/doc/en/GLib/Socket.xml
@@ -1,6 +1,6 @@
 <Type Name="Socket" FullName="GLib.Socket">
-  <TypeSignature Language="C#" Value="public class Socket : GLib.Object, GLib.Initable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socket extends GLib.Object implements class GLib.Initable, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class Socket : GLib.Object, GLib.IInitable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socket extends GLib.Object implements class GLib.IInitable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Initable</InterfaceName>
+      <InterfaceName>GLib.IInitable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -40,7 +40,25 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Socket (GLib.SocketFamily family, GLib.SocketType type, GLib.SocketProtocol protocol);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype GLib.SocketFamily family, valuetype GLib.SocketType type, valuetype GLib.SocketProtocol protocol) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="family" Type="GLib.SocketFamily" />
+        <Parameter Name="type" Type="GLib.SocketType" />
+        <Parameter Name="protocol" Type="GLib.SocketProtocol" />
+      </Parameters>
+      <Docs>
+        <param name="family">To be added.</param>
+        <param name="type">To be added.</param>
+        <param name="protocol">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
@@ -133,6 +151,44 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="ConditionCheck">
+      <MemberSignature Language="C#" Value="public GLib.IOCondition ConditionCheck (GLib.IOCondition condition);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype GLib.IOCondition ConditionCheck(valuetype GLib.IOCondition condition) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.IOCondition</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="condition" Type="GLib.IOCondition" />
+      </Parameters>
+      <Docs>
+        <param name="condition">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ConditionWait">
+      <MemberSignature Language="C#" Value="public bool ConditionWait (GLib.IOCondition condition, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool ConditionWait(valuetype GLib.IOCondition condition, class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="condition" Type="GLib.IOCondition" />
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="condition">To be added.</param>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Connect">
       <MemberSignature Language="C#" Value="public bool Connect (GLib.SocketAddress address, GLib.Cancellable cancellable);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Connect(class GLib.SocketAddress address, class GLib.Cancellable cancellable) cil managed" />
@@ -153,6 +209,45 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.IOCondition condition, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Source CreateSource(valuetype GLib.IOCondition condition, class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="condition" Type="GLib.IOCondition" />
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="condition">To be added.</param>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Family">
+      <MemberSignature Language="C#" Value="public GLib.SocketFamily Family { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.SocketFamily Family" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("family")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Fd">
       <MemberSignature Language="C#" Value="public int Fd { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance int32 Fd" />
@@ -225,9 +320,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Socket" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SocketAddress.xml b/doc/en/GLib/SocketAddress.xml
index 1d21d9f..5fcf4db 100644
--- a/doc/en/GLib/SocketAddress.xml
+++ b/doc/en/GLib/SocketAddress.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -44,6 +44,25 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="Family">
+      <MemberSignature Language="C#" Value="public GLib.SocketFamily Family { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.SocketFamily Family" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("family")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
       <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
       <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
@@ -52,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketAddress" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -72,6 +91,26 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="OnGetFamily">
+      <MemberSignature Language="C#" Value="protected virtual GLib.SocketFamily OnGetFamily ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance valuetype GLib.SocketFamily OnGetFamily() cil managed" />
+      <MemberType>Method</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.DefaultSignalHandler(ConnectionMethod="OverrideGetFamily", Type=typeof(GLib.SocketAddress))</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="OnGetNativeSize">
       <MemberSignature Language="C#" Value="protected virtual long OnGetNativeSize ();" />
       <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance int64 OnGetNativeSize() cil managed" />
diff --git a/doc/en/GLib/SocketAddressEnumerator.xml b/doc/en/GLib/SocketAddressEnumerator.xml
index b203d94..fc583a4 100644
--- a/doc/en/GLib/SocketAddressEnumerator.xml
+++ b/doc/en/GLib/SocketAddressEnumerator.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketAddressEnumerator" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -91,14 +91,14 @@
       </Docs>
     </Member>
     <Member MemberName="NextFinish">
-      <MemberSignature Language="C#" Value="public GLib.SocketAddress NextFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketAddress NextFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketAddress NextFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketAddress NextFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketAddress</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -156,8 +156,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnNextFinish">
-      <MemberSignature Language="C#" Value="protected virtual GLib.SocketAddress OnNextFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.SocketAddress OnNextFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.SocketAddress OnNextFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.SocketAddress OnNextFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -168,7 +168,7 @@
         <ReturnType>GLib.SocketAddress</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/SocketClient.xml b/doc/en/GLib/SocketClient.xml
index 46351c3..11efd3a 100644
--- a/doc/en/GLib/SocketClient.xml
+++ b/doc/en/GLib/SocketClient.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -57,14 +57,14 @@
       </Docs>
     </Member>
     <Member MemberName="Connect">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnection Connect (GLib.SocketConnectable connectable, GLib.Cancellable cancellable);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection Connect(class GLib.SocketConnectable connectable, class GLib.Cancellable cancellable) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketConnection Connect (GLib.ISocketConnectable connectable, GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection Connect(class GLib.ISocketConnectable connectable, class GLib.Cancellable cancellable) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="connectable" Type="GLib.SocketConnectable" />
+        <Parameter Name="connectable" Type="GLib.ISocketConnectable" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
       </Parameters>
       <Docs>
@@ -77,14 +77,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectAsync">
-      <MemberSignature Language="C#" Value="public void ConnectAsync (GLib.SocketConnectable connectable, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ConnectAsync(class GLib.SocketConnectable connectable, class GLib.Cancellable cancellable, class GLib.AsyncReadyCallback cb) cil managed" />
+      <MemberSignature Language="C#" Value="public void ConnectAsync (GLib.ISocketConnectable connectable, GLib.Cancellable cancellable, GLib.AsyncReadyCallback cb);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ConnectAsync(class GLib.ISocketConnectable connectable, class GLib.Cancellable cancellable, class GLib.AsyncReadyCallback cb) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="connectable" Type="GLib.SocketConnectable" />
+        <Parameter Name="connectable" Type="GLib.ISocketConnectable" />
         <Parameter Name="cancellable" Type="GLib.Cancellable" />
         <Parameter Name="cb" Type="GLib.AsyncReadyCallback" />
       </Parameters>
@@ -98,14 +98,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectFinish">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -161,14 +161,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectToHostFinish">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectToHostFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectToHostFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectToHostFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectToHostFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -224,14 +224,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectToServiceFinish">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectToServiceFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectToServiceFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectToServiceFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectToServiceFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -287,14 +287,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectToUriFinish">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectToUriFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectToUriFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketConnection ConnectToUriFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection ConnectToUriFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -323,6 +323,25 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="Family">
+      <MemberSignature Language="C#" Value="public GLib.SocketFamily Family { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.SocketFamily Family" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("family")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
       <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
       <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
@@ -331,9 +350,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketClient" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SocketConnectableAdapter.xml b/doc/en/GLib/SocketConnectableAdapter.xml
index 45ea68b..4e7f2fe 100644
--- a/doc/en/GLib/SocketConnectableAdapter.xml
+++ b/doc/en/GLib/SocketConnectableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="SocketConnectableAdapter" FullName="GLib.SocketConnectableAdapter">
-  <TypeSignature Language="C#" Value="public class SocketConnectableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.SocketConnectable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi SocketConnectableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.SocketConnectable" />
+  <TypeSignature Language="C#" Value="public class SocketConnectableAdapter : GLib.GInterfaceAdapter, GLib.ISocketConnectable, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi SocketConnectableAdapter extends GLib.GInterfaceAdapter implements class GLib.ISocketConnectable, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.ISocketConnectable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.SocketConnectable</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SocketConnectableAdapter (GLib.SocketConnectableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.SocketConnectableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public SocketConnectableAdapter (GLib.ISocketConnectableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ISocketConnectableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.SocketConnectableImplementor" />
+        <Parameter Name="implementor" Type="GLib.ISocketConnectableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -76,11 +76,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.SocketConnectable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.SocketConnectable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ISocketConnectable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ISocketConnectable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -94,11 +94,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.SocketConnectable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.SocketConnectable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ISocketConnectable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ISocketConnectable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -113,9 +113,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -142,11 +156,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnectableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SocketConnectableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.ISocketConnectableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ISocketConnectableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectableImplementor</ReturnType>
+        <ReturnType>GLib.ISocketConnectableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/SocketConnection.xml b/doc/en/GLib/SocketConnection.xml
index a7b2dce..18c616f 100644
--- a/doc/en/GLib/SocketConnection.xml
+++ b/doc/en/GLib/SocketConnection.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -57,6 +57,51 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="FactoryLookupType">
+      <MemberSignature Language="C#" Value="public static GLib.GType FactoryLookupType (GLib.SocketFamily family, GLib.SocketType type, int protocol_id);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.GType FactoryLookupType(valuetype GLib.SocketFamily family, valuetype GLib.SocketType type, int32 protocol_id) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="family" Type="GLib.SocketFamily" />
+        <Parameter Name="type" Type="GLib.SocketType" />
+        <Parameter Name="protocol_id" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="family">To be added.</param>
+        <param name="type">To be added.</param>
+        <param name="protocol_id">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="FactoryRegisterType">
+      <MemberSignature Language="C#" Value="public static void FactoryRegisterType (GLib.GType g_type, GLib.SocketFamily family, GLib.SocketType type, int protocol);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void FactoryRegisterType(valuetype GLib.GType g_type, valuetype GLib.SocketFamily family, valuetype GLib.SocketType type, int32 protocol) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="g_type" Type="GLib.GType" />
+        <Parameter Name="family" Type="GLib.SocketFamily" />
+        <Parameter Name="type" Type="GLib.SocketType" />
+        <Parameter Name="protocol" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="g_type">To be added.</param>
+        <param name="family">To be added.</param>
+        <param name="type">To be added.</param>
+        <param name="protocol">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GetLocalAddress">
       <MemberSignature Language="C#" Value="public GLib.SocketAddress GetLocalAddress ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketAddress GetLocalAddress() cil managed" />
@@ -95,9 +140,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketConnection" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SocketControlMessage.xml b/doc/en/GLib/SocketControlMessage.xml
index 6234612..736f8ef 100644
--- a/doc/en/GLib/SocketControlMessage.xml
+++ b/doc/en/GLib/SocketControlMessage.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -71,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketControlMessage" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SocketFamily.xml b/doc/en/GLib/SocketFamily.xml
new file mode 100644
index 0000000..61d67e2
--- /dev/null
+++ b/doc/en/GLib/SocketFamily.xml
@@ -0,0 +1,70 @@
+<Type Name="SocketFamily" FullName="GLib.SocketFamily">
+  <TypeSignature Language="C#" Value="public enum SocketFamily" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SocketFamily extends System.Enum" />
+  <AssemblyInfo>
+    <AssemblyName>gio-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Enum</BaseTypeName>
+  </Base>
+  <Attributes>
+    <Attribute>
+      <AttributeName>GLib.GType(typeof(GLib.SocketFamilyGType))</AttributeName>
+    </Attribute>
+  </Attributes>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Invalid">
+      <MemberSignature Language="C#" Value="Invalid" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketFamily Invalid = int32(0)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Ipv4">
+      <MemberSignature Language="C#" Value="Ipv4" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketFamily Ipv4 = int32(2)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Ipv6">
+      <MemberSignature Language="C#" Value="Ipv6" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketFamily Ipv6 = int32(10)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Unix">
+      <MemberSignature Language="C#" Value="Unix" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketFamily Unix = int32(1)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketFamily</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/SocketInputStream.xml b/doc/en/GLib/SocketInputStream.xml
index 678b5e3..d98954f 100644
--- a/doc/en/GLib/SocketInputStream.xml
+++ b/doc/en/GLib/SocketInputStream.xml
@@ -1,6 +1,6 @@
 <Type Name="SocketInputStream" FullName="GLib.SocketInputStream">
-  <TypeSignature Language="C#" Value="public class SocketInputStream : GLib.InputStream, GLib.PollableInputStream" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SocketInputStream extends GLib.InputStream implements class GLib.IWrapper, class GLib.PollableInputStream" />
+  <TypeSignature Language="C#" Value="public class SocketInputStream : GLib.InputStream, GLib.IPollableInputStream" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SocketInputStream extends GLib.InputStream implements class GLib.IPollableInputStream, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.PollableInputStream</InterfaceName>
+      <InterfaceName>GLib.IPollableInputStream</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -58,6 +58,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsReadable">
       <MemberSignature Language="C#" Value="public bool IsReadable { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool IsReadable" />
diff --git a/doc/en/GLib/SocketListener.xml b/doc/en/GLib/SocketListener.xml
index 362579e..7bcb472 100644
--- a/doc/en/GLib/SocketListener.xml
+++ b/doc/en/GLib/SocketListener.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -79,14 +79,14 @@
       </Docs>
     </Member>
     <Member MemberName="AcceptFinish">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnection AcceptFinish (GLib.AsyncResult result, GLib.Object source_object);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection AcceptFinish(class GLib.AsyncResult result, class GLib.Object source_object) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.SocketConnection AcceptFinish (GLib.IAsyncResult result, GLib.Object source_object);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SocketConnection AcceptFinish(class GLib.IAsyncResult result, class GLib.Object source_object) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.SocketConnection</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="source_object" Type="GLib.Object" />
       </Parameters>
       <Docs>
@@ -138,14 +138,14 @@
       </Docs>
     </Member>
     <Member MemberName="AcceptSocketFinish">
-      <MemberSignature Language="C#" Value="public GLib.Socket AcceptSocketFinish (GLib.AsyncResult result, GLib.Object source_object);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Socket AcceptSocketFinish(class GLib.AsyncResult result, class GLib.Object source_object) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.Socket AcceptSocketFinish (GLib.IAsyncResult result, GLib.Object source_object);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Socket AcceptSocketFinish(class GLib.IAsyncResult result, class GLib.Object source_object) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.Socket</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
         <Parameter Name="source_object" Type="GLib.Object" />
       </Parameters>
       <Docs>
@@ -277,9 +277,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketListener" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SocketMsgFlags.xml b/doc/en/GLib/SocketMsgFlags.xml
new file mode 100644
index 0000000..d6d95d2
--- /dev/null
+++ b/doc/en/GLib/SocketMsgFlags.xml
@@ -0,0 +1,70 @@
+<Type Name="SocketMsgFlags" FullName="GLib.SocketMsgFlags">
+  <TypeSignature Language="C#" Value="public enum SocketMsgFlags" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SocketMsgFlags extends System.Enum" />
+  <AssemblyInfo>
+    <AssemblyName>gio-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Enum</BaseTypeName>
+  </Base>
+  <Attributes>
+    <Attribute>
+      <AttributeName>GLib.GType(typeof(GLib.SocketMsgFlagsGType))</AttributeName>
+    </Attribute>
+  </Attributes>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Dontroute">
+      <MemberSignature Language="C#" Value="Dontroute" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketMsgFlags Dontroute = int32(4)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketMsgFlags</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="None">
+      <MemberSignature Language="C#" Value="None" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketMsgFlags None = int32(0)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketMsgFlags</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Oob">
+      <MemberSignature Language="C#" Value="Oob" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketMsgFlags Oob = int32(1)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketMsgFlags</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Peek">
+      <MemberSignature Language="C#" Value="Peek" />
+      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype GLib.SocketMsgFlags Peek = int32(2)" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SocketMsgFlags</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/SocketOutputStream.xml b/doc/en/GLib/SocketOutputStream.xml
index 968299c..4bbc8a2 100644
--- a/doc/en/GLib/SocketOutputStream.xml
+++ b/doc/en/GLib/SocketOutputStream.xml
@@ -1,6 +1,6 @@
 <Type Name="SocketOutputStream" FullName="GLib.SocketOutputStream">
-  <TypeSignature Language="C#" Value="public class SocketOutputStream : GLib.OutputStream, GLib.PollableOutputStream" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SocketOutputStream extends GLib.OutputStream implements class GLib.IWrapper, class GLib.PollableOutputStream" />
+  <TypeSignature Language="C#" Value="public class SocketOutputStream : GLib.OutputStream, GLib.IPollableOutputStream" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SocketOutputStream extends GLib.OutputStream implements class GLib.IPollableOutputStream, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.PollableOutputStream</InterfaceName>
+      <InterfaceName>GLib.IPollableOutputStream</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -58,6 +58,24 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="CreateSource">
+      <MemberSignature Language="C#" Value="public GLib.Source CreateSource (GLib.Cancellable cancellable);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.Source CreateSource(class GLib.Cancellable cancellable) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.Source</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="cancellable" Type="GLib.Cancellable" />
+      </Parameters>
+      <Docs>
+        <param name="cancellable">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="IsWritable">
       <MemberSignature Language="C#" Value="public bool IsWritable { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance bool IsWritable" />
diff --git a/doc/en/GLib/SocketService.xml b/doc/en/GLib/SocketService.xml
index eba7139..cf10a01 100644
--- a/doc/en/GLib/SocketService.xml
+++ b/doc/en/GLib/SocketService.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.SocketService" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -104,9 +104,9 @@
       <Docs>
         <param name="connection">To be added.</param>
         <param name="source_object">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.SocketService.Incoming" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.SocketService.Incoming" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/SocketSourceFunc.xml b/doc/en/GLib/SocketSourceFunc.xml
new file mode 100644
index 0000000..9f777b5
--- /dev/null
+++ b/doc/en/GLib/SocketSourceFunc.xml
@@ -0,0 +1,25 @@
+<Type Name="SocketSourceFunc" FullName="GLib.SocketSourceFunc">
+  <TypeSignature Language="C#" Value="public delegate bool SocketSourceFunc(Socket socket, IOCondition condition);" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SocketSourceFunc extends System.MulticastDelegate" />
+  <AssemblyInfo>
+    <AssemblyName>gio-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Delegate</BaseTypeName>
+  </Base>
+  <Parameters>
+    <Parameter Name="socket" Type="GLib.Socket" />
+    <Parameter Name="condition" Type="GLib.IOCondition" />
+  </Parameters>
+  <ReturnValue>
+    <ReturnType>System.Boolean</ReturnType>
+  </ReturnValue>
+  <Docs>
+    <param name="socket">To be added.</param>
+    <param name="condition">To be added.</param>
+    <summary>To be added.</summary>
+    <returns>To be added.</returns>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+</Type>
diff --git a/doc/en/GLib/Socks4Proxy.xml b/doc/en/GLib/Socks4Proxy.xml
index 0239f80..8f9ca59 100644
--- a/doc/en/GLib/Socks4Proxy.xml
+++ b/doc/en/GLib/Socks4Proxy.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Socks4aProxy.xml b/doc/en/GLib/Socks4aProxy.xml
index 56efcc3..1cb2a96 100644
--- a/doc/en/GLib/Socks4aProxy.xml
+++ b/doc/en/GLib/Socks4aProxy.xml
@@ -1,6 +1,6 @@
 <Type Name="Socks4aProxy" FullName="GLib.Socks4aProxy">
-  <TypeSignature Language="C#" Value="public class Socks4aProxy : GLib.Object, GLib.Proxy" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socks4aProxy extends GLib.Object implements class GLib.IWrapper, class GLib.Proxy" />
+  <TypeSignature Language="C#" Value="public class Socks4aProxy : GLib.Object, GLib.IProxy" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socks4aProxy extends GLib.Object implements class GLib.IProxy, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Proxy</InterfaceName>
+      <InterfaceName>GLib.IProxy</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -89,14 +89,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectFinish">
-      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/Socks5Proxy.xml b/doc/en/GLib/Socks5Proxy.xml
index 3370ff7..e7e9874 100644
--- a/doc/en/GLib/Socks5Proxy.xml
+++ b/doc/en/GLib/Socks5Proxy.xml
@@ -1,6 +1,6 @@
 <Type Name="Socks5Proxy" FullName="GLib.Socks5Proxy">
-  <TypeSignature Language="C#" Value="public class Socks5Proxy : GLib.Object, GLib.Proxy" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socks5Proxy extends GLib.Object implements class GLib.IWrapper, class GLib.Proxy" />
+  <TypeSignature Language="C#" Value="public class Socks5Proxy : GLib.Object, GLib.IProxy" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Socks5Proxy extends GLib.Object implements class GLib.IProxy, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Proxy</InterfaceName>
+      <InterfaceName>GLib.IProxy</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -89,14 +89,14 @@
       </Docs>
     </Member>
     <Member MemberName="ConnectFinish">
-      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IOStream ConnectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class GLib.IOStream ConnectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/Source.xml b/doc/en/GLib/Source.xml
index e759a7c..f151079 100644
--- a/doc/en/GLib/Source.xml
+++ b/doc/en/GLib/Source.xml
@@ -1,6 +1,6 @@
 <Type Name="Source" FullName="GLib.Source">
-  <TypeSignature Language="C#" Value="public class Source" Maintainer="auto" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Source extends System.Object" />
+  <TypeSignature Language="C#" Value="public class Source : GLib.Opaque" Maintainer="auto" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Source extends GLib.Opaque" />
   <AssemblyInfo>
     <AssemblyName>glib-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -8,7 +8,7 @@
   </AssemblyInfo>
   <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
   </Base>
   <Interfaces />
   <Docs>
@@ -16,6 +16,321 @@
     <remarks>To be added</remarks>
   </Docs>
   <Members>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Source (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public Source (GLib.SourceFuncs source_funcs, uint struct_size);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype GLib.SourceFuncs source_funcs, unsigned int32 struct_size) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="source_funcs" Type="GLib.SourceFuncs" />
+        <Parameter Name="struct_size" Type="System.UInt32" />
+      </Parameters>
+      <Docs>
+        <param name="source_funcs">To be added.</param>
+        <param name="struct_size">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddChildSource">
+      <MemberSignature Language="C#" Value="public void AddChildSource (GLib.Source child_source);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddChildSource(class GLib.Source child_source) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="child_source" Type="GLib.Source" />
+      </Parameters>
+      <Docs>
+        <param name="child_source">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="AddPoll">
+      <MemberSignature Language="C#" Value="public void AddPoll (GLib.PollFD fd);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddPoll(valuetype GLib.PollFD fd) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="fd" Type="GLib.PollFD" />
+      </Parameters>
+      <Docs>
+        <param name="fd">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Attach">
+      <MemberSignature Language="C#" Value="public uint Attach (GLib.MainContext context);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int32 Attach(class GLib.MainContext context) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="context" Type="GLib.MainContext" />
+      </Parameters>
+      <Docs>
+        <param name="context">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="CanRecurse">
+      <MemberSignature Language="C#" Value="public bool CanRecurse { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance bool CanRecurse" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Context">
+      <MemberSignature Language="C#" Value="public GLib.MainContext Context { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.MainContext Context" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.MainContext</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Finalize">
+      <MemberSignature Language="C#" Value="~Source ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Free">
+      <MemberSignature Language="C#" Value="protected override void Free (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Free(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Funcs">
+      <MemberSignature Language="C#" Value="public GLib.SourceFuncs Funcs { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.SourceFuncs Funcs" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SourceFuncs</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetCurrentTime">
+      <MemberSignature Language="C#" Value="public void GetCurrentTime (GLib.TimeVal timeval);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetCurrentTime(valuetype GLib.TimeVal timeval) cil managed" />
+      <MemberType>Method</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>System.Obsolete</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="timeval" Type="GLib.TimeVal" />
+      </Parameters>
+      <Docs>
+        <param name="timeval">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GType">
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Id">
+      <MemberSignature Language="C#" Value="public uint Id { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance unsigned int32 Id" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.UInt32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="IsDestroyed">
+      <MemberSignature Language="C#" Value="public bool IsDestroyed { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance bool IsDestroyed" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ModifyUnixFd">
+      <MemberSignature Language="C#" Value="public void ModifyUnixFd (IntPtr tag, GLib.IOCondition new_events);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ModifyUnixFd(native int tag, valuetype GLib.IOCondition new_events) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tag" Type="System.IntPtr" />
+        <Parameter Name="new_events" Type="GLib.IOCondition" />
+      </Parameters>
+      <Docs>
+        <param name="tag">To be added.</param>
+        <param name="new_events">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Name">
+      <MemberSignature Language="C#" Value="public string Name { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string Name" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Priority">
+      <MemberSignature Language="C#" Value="public int Priority { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 Priority" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="QueryUnixFd">
+      <MemberSignature Language="C#" Value="public GLib.IOCondition QueryUnixFd (IntPtr tag);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype GLib.IOCondition QueryUnixFd(native int tag) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.IOCondition</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tag" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="tag">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ReadyTime">
+      <MemberSignature Language="C#" Value="public long ReadyTime { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int64 ReadyTime" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Ref">
+      <MemberSignature Language="C#" Value="protected override void Ref (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Ref(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Remove">
       <MemberSignature Language="C#" Value="public static bool Remove (uint tag);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool Remove(unsigned int32 tag) cil managed" />
@@ -33,5 +348,163 @@
         <remarks>To be added</remarks>
       </Docs>
     </Member>
+    <Member MemberName="RemoveByFuncsUserData">
+      <MemberSignature Language="C#" Value="public static bool RemoveByFuncsUserData (GLib.SourceFuncs funcs, IntPtr user_data);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool RemoveByFuncsUserData(valuetype GLib.SourceFuncs funcs, native int user_data) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="funcs" Type="GLib.SourceFuncs" />
+        <Parameter Name="user_data" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="funcs">To be added.</param>
+        <param name="user_data">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="RemoveByUserData">
+      <MemberSignature Language="C#" Value="public static bool RemoveByUserData (IntPtr user_data);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool RemoveByUserData(native int user_data) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="user_data" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="user_data">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="RemoveChildSource">
+      <MemberSignature Language="C#" Value="public void RemoveChildSource (GLib.Source child_source);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveChildSource(class GLib.Source child_source) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="child_source" Type="GLib.Source" />
+      </Parameters>
+      <Docs>
+        <param name="child_source">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="RemovePoll">
+      <MemberSignature Language="C#" Value="public void RemovePoll (GLib.PollFD fd);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemovePoll(valuetype GLib.PollFD fd) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="fd" Type="GLib.PollFD" />
+      </Parameters>
+      <Docs>
+        <param name="fd">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="RemoveUnixFd">
+      <MemberSignature Language="C#" Value="public void RemoveUnixFd (IntPtr tag);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveUnixFd(native int tag) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tag" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="tag">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SetCallbackIndirect">
+      <MemberSignature Language="C#" Value="public void SetCallbackIndirect (IntPtr callback_data, GLib.SourceCallbackFuncs callback_funcs);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetCallbackIndirect(native int callback_data, valuetype GLib.SourceCallbackFuncs callback_funcs) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="callback_data" Type="System.IntPtr" />
+        <Parameter Name="callback_funcs" Type="GLib.SourceCallbackFuncs" />
+      </Parameters>
+      <Docs>
+        <param name="callback_data">To be added.</param>
+        <param name="callback_funcs">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="SetNameById">
+      <MemberSignature Language="C#" Value="public static void SetNameById (uint tag, string name);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void SetNameById(unsigned int32 tag, string name) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="tag" Type="System.UInt32" />
+        <Parameter Name="name" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="tag">To be added.</param>
+        <param name="name">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Time">
+      <MemberSignature Language="C#" Value="public long Time { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int64 Time" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Unref">
+      <MemberSignature Language="C#" Value="protected override void Unref (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Unref(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
   </Members>
 </Type>
diff --git a/doc/en/GLib/SourceCallbackFuncs.xml b/doc/en/GLib/SourceCallbackFuncs.xml
new file mode 100644
index 0000000..2428655
--- /dev/null
+++ b/doc/en/GLib/SourceCallbackFuncs.xml
@@ -0,0 +1,104 @@
+<Type Name="SourceCallbackFuncs" FullName="GLib.SourceCallbackFuncs">
+  <TypeSignature Language="C#" Value="public struct SourceCallbackFuncs : IEquatable<GLib.SourceCallbackFuncs>" />
+  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit SourceCallbackFuncs extends System.ValueType implements class System.IEquatable`1<valuetype GLib.SourceCallbackFuncs>" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.ValueType</BaseTypeName>
+  </Base>
+  <Interfaces>
+    <Interface>
+      <InterfaceName>System.IEquatable<GLib.SourceCallbackFuncs></InterfaceName>
+    </Interface>
+  </Interfaces>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public bool Equals (GLib.SourceCallbackFuncs other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype GLib.SourceCallbackFuncs other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="GLib.SourceCallbackFuncs" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="System.Object" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetHashCode">
+      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="New">
+      <MemberSignature Language="C#" Value="public static GLib.SourceCallbackFuncs New (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.SourceCallbackFuncs New(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SourceCallbackFuncs</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Zero">
+      <MemberSignature Language="C#" Value="public static GLib.SourceCallbackFuncs Zero;" />
+      <MemberSignature Language="ILAsm" Value=".field public static valuetype GLib.SourceCallbackFuncs Zero" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SourceCallbackFuncs</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/SourceDummyMarshal.xml b/doc/en/GLib/SourceDummyMarshal.xml
new file mode 100644
index 0000000..717d416
--- /dev/null
+++ b/doc/en/GLib/SourceDummyMarshal.xml
@@ -0,0 +1,19 @@
+<Type Name="SourceDummyMarshal" FullName="GLib.SourceDummyMarshal">
+  <TypeSignature Language="C#" Value="public delegate void SourceDummyMarshal();" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SourceDummyMarshal extends System.MulticastDelegate" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Delegate</BaseTypeName>
+  </Base>
+  <Parameters />
+  <ReturnValue>
+    <ReturnType>System.Void</ReturnType>
+  </ReturnValue>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+</Type>
diff --git a/doc/en/GLib/SourceFunc.xml b/doc/en/GLib/SourceFunc.xml
new file mode 100644
index 0000000..9abfdd9
--- /dev/null
+++ b/doc/en/GLib/SourceFunc.xml
@@ -0,0 +1,23 @@
+<Type Name="SourceFunc" FullName="GLib.SourceFunc">
+  <TypeSignature Language="C#" Value="public delegate bool SourceFunc(IntPtr user_data);" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed SourceFunc extends System.MulticastDelegate" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Delegate</BaseTypeName>
+  </Base>
+  <Parameters>
+    <Parameter Name="user_data" Type="System.IntPtr" />
+  </Parameters>
+  <ReturnValue>
+    <ReturnType>System.Boolean</ReturnType>
+  </ReturnValue>
+  <Docs>
+    <param name="user_data">To be added.</param>
+    <summary>To be added.</summary>
+    <returns>To be added.</returns>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+</Type>
diff --git a/doc/en/GLib/SourceFuncs.xml b/doc/en/GLib/SourceFuncs.xml
new file mode 100644
index 0000000..eec0b63
--- /dev/null
+++ b/doc/en/GLib/SourceFuncs.xml
@@ -0,0 +1,104 @@
+<Type Name="SourceFuncs" FullName="GLib.SourceFuncs">
+  <TypeSignature Language="C#" Value="public struct SourceFuncs : IEquatable<GLib.SourceFuncs>" />
+  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit SourceFuncs extends System.ValueType implements class System.IEquatable`1<valuetype GLib.SourceFuncs>" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.ValueType</BaseTypeName>
+  </Base>
+  <Interfaces>
+    <Interface>
+      <InterfaceName>System.IEquatable<GLib.SourceFuncs></InterfaceName>
+    </Interface>
+  </Interfaces>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public bool Equals (GLib.SourceFuncs other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype GLib.SourceFuncs other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="GLib.SourceFuncs" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="System.Object" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetHashCode">
+      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="New">
+      <MemberSignature Language="C#" Value="public static GLib.SourceFuncs New (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.SourceFuncs New(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SourceFuncs</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Zero">
+      <MemberSignature Language="C#" Value="public static GLib.SourceFuncs Zero;" />
+      <MemberSignature Language="ILAsm" Value=".field public static valuetype GLib.SourceFuncs Zero" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.SourceFuncs</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/GLib/SrvTarget.xml b/doc/en/GLib/SrvTarget.xml
index 29f34e2..b93b6ec 100644
--- a/doc/en/GLib/SrvTarget.xml
+++ b/doc/en/GLib/SrvTarget.xml
@@ -123,11 +123,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListSort">
-      <MemberSignature Language="C#" Value="public static GLib.List ListSort (GLib.List targets);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List ListSort(class GLib.List targets) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.SrvTarget[] ListSort (GLib.List targets);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.SrvTarget[] ListSort(class GLib.List targets) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.SrvTarget[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="targets" Type="GLib.List" />
diff --git a/doc/en/GLib/TcpConnection.xml b/doc/en/GLib/TcpConnection.xml
index fe99830..0d5551a 100644
--- a/doc/en/GLib/TcpConnection.xml
+++ b/doc/en/GLib/TcpConnection.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -66,9 +66,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.TcpConnection" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/TcpWrapperConnection.xml b/doc/en/GLib/TcpWrapperConnection.xml
index e64779b..687e31b 100644
--- a/doc/en/GLib/TcpWrapperConnection.xml
+++ b/doc/en/GLib/TcpWrapperConnection.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -48,6 +48,11 @@
       <MemberSignature Language="C#" Value="public GLib.IOStream BaseIoStream { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance class GLib.IOStream BaseIoStream" />
       <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("base-io-stream")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
         <ReturnType>GLib.IOStream</ReturnType>
       </ReturnValue>
@@ -66,9 +71,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.TcpWrapperConnection" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ThemedIcon.xml b/doc/en/GLib/ThemedIcon.xml
index 7d956ae..78a653f 100644
--- a/doc/en/GLib/ThemedIcon.xml
+++ b/doc/en/GLib/ThemedIcon.xml
@@ -1,6 +1,6 @@
 <Type Name="ThemedIcon" FullName="GLib.ThemedIcon">
-  <TypeSignature Language="C#" Value="public class ThemedIcon : GLib.Object, GLib.Icon" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ThemedIcon extends GLib.Object implements class GLib.Icon, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ThemedIcon : GLib.Object, GLib.IIcon" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ThemedIcon extends GLib.Object implements class GLib.IIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Icon</InterfaceName>
+      <InterfaceName>GLib.IIcon</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -64,21 +64,21 @@
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -89,9 +89,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ThemedIcon" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ThreadedResolver.xml b/doc/en/GLib/ThreadedResolver.xml
index 3200aeb..df203cf 100644
--- a/doc/en/GLib/ThreadedResolver.xml
+++ b/doc/en/GLib/ThreadedResolver.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ThreadedResolver" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ThreadedSocketService.xml b/doc/en/GLib/ThreadedSocketService.xml
index 0149ca5..4b401ca 100644
--- a/doc/en/GLib/ThreadedSocketService.xml
+++ b/doc/en/GLib/ThreadedSocketService.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -50,9 +50,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ThreadedSocketService" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -94,9 +94,9 @@
       <Docs>
         <param name="connection">To be added.</param>
         <param name="source_object">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.ThreadedSocketService.Run" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.ThreadedSocketService.Run" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/TimeVal.xml b/doc/en/GLib/TimeVal.xml
new file mode 100644
index 0000000..647a1fc
--- /dev/null
+++ b/doc/en/GLib/TimeVal.xml
@@ -0,0 +1,184 @@
+<Type Name="TimeVal" FullName="GLib.TimeVal">
+  <TypeSignature Language="C#" Value="public struct TimeVal : IEquatable<GLib.TimeVal>" />
+  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit TimeVal extends System.ValueType implements class System.IEquatable`1<valuetype GLib.TimeVal>" />
+  <AssemblyInfo>
+    <AssemblyName>glib-sharp</AssemblyName>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.ValueType</BaseTypeName>
+  </Base>
+  <Interfaces>
+    <Interface>
+      <InterfaceName>System.IEquatable<GLib.TimeVal></InterfaceName>
+    </Interface>
+  </Interfaces>
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
+  </Docs>
+  <Members>
+    <Member MemberName="Add">
+      <MemberSignature Language="C#" Value="public void Add (long microseconds);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Add(int64 microseconds) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="microseconds" Type="System.Int64" />
+      </Parameters>
+      <Docs>
+        <param name="microseconds">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public bool Equals (GLib.TimeVal other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype GLib.TimeVal other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="GLib.TimeVal" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Equals">
+      <MemberSignature Language="C#" Value="public override bool Equals (object other);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object other) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="other" Type="System.Object" />
+      </Parameters>
+      <Docs>
+        <param name="other">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="FromIso8601">
+      <MemberSignature Language="C#" Value="public static bool FromIso8601 (string iso_date, out GLib.TimeVal time_);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool FromIso8601(string iso_date, valuetype GLib.TimeVal time_) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="iso_date" Type="System.String" />
+        <Parameter Name="time_" Type="GLib.TimeVal&" RefType="out" />
+      </Parameters>
+      <Docs>
+        <param name="iso_date">To be added.</param>
+        <param name="time_">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GetHashCode">
+      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int32</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="New">
+      <MemberSignature Language="C#" Value="public static GLib.TimeVal New (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype GLib.TimeVal New(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.TimeVal</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="raw" Type="System.IntPtr" />
+      </Parameters>
+      <Docs>
+        <param name="raw">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="ToIso8601">
+      <MemberSignature Language="C#" Value="public string ToIso8601 ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string ToIso8601() cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TvSec">
+      <MemberSignature Language="C#" Value="public long TvSec { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int64 TvSec" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="TvUsec">
+      <MemberSignature Language="C#" Value="public long TvUsec { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance int64 TvUsec" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Int64</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Zero">
+      <MemberSignature Language="C#" Value="public static GLib.TimeVal Zero;" />
+      <MemberSignature Language="ILAsm" Value=".field public static valuetype GLib.TimeVal Zero" />
+      <MemberType>Field</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.TimeVal</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/doc/en/Gtk/CssProvider.xml b/doc/en/GLib/TimeZone.xml
similarity index 52%
copy from doc/en/Gtk/CssProvider.xml
copy to doc/en/GLib/TimeZone.xml
index 4621ba2..09c11c1 100644
--- a/doc/en/Gtk/CssProvider.xml
+++ b/doc/en/GLib/TimeZone.xml
@@ -1,17 +1,13 @@
-<Type Name="CssProvider" FullName="Gtk.CssProvider">
-  <TypeSignature Language="C#" Value="public class CssProvider : GLib.Object, Gtk.StyleProvider" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CssProvider extends GLib.Object implements class GLib.IWrapper, class Gtk.StyleProvider" />
+<Type Name="TimeZone" FullName="GLib.TimeZone">
+  <TypeSignature Language="C#" Value="public class TimeZone : GLib.Opaque" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TimeZone extends GLib.Opaque" />
   <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
+    <AssemblyName>glib-sharp</AssemblyName>
   </AssemblyInfo>
   <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
   </Base>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>Gtk.StyleProvider</InterfaceName>
-    </Interface>
-  </Interfaces>
+  <Interfaces />
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
@@ -19,7 +15,7 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CssProvider ();" />
+      <MemberSignature Language="C#" Value="public TimeZone ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters />
@@ -30,7 +26,7 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CssProvider (IntPtr raw);" />
+      <MemberSignature Language="C#" Value="public TimeZone (IntPtr raw);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int raw) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
@@ -43,109 +39,104 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Default">
-      <MemberSignature Language="C#" Value="public static Gtk.CssProvider Default { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property class Gtk.CssProvider Default" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CssProvider</ReturnType>
-      </ReturnValue>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public TimeZone (string identifier);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string identifier) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="identifier" Type="System.String" />
+      </Parameters>
       <Docs>
+        <param name="identifier">To be added.</param>
         <summary>To be added.</summary>
-        <value>To be added.</value>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="ErrorQuark">
-      <MemberSignature Language="C#" Value="public static int ErrorQuark ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 ErrorQuark() cil managed" />
+    <Member MemberName="AdjustTime">
+      <MemberSignature Language="C#" Value="public int AdjustTime (int type, long time_);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 AdjustTime(int32 type, int64 time_) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
-      <Parameters />
+      <Parameters>
+        <Parameter Name="type" Type="System.Int32" />
+        <Parameter Name="time_" Type="System.Int64" />
+      </Parameters>
       <Docs>
+        <param name="type">To be added.</param>
+        <param name="time_">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GetIconFactory">
-      <MemberSignature Language="C#" Value="public Gtk.IconFactory GetIconFactory (Gtk.WidgetPath path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Gtk.IconFactory GetIconFactory(class Gtk.WidgetPath path) cil managed" />
+    <Member MemberName="Finalize">
+      <MemberSignature Language="C#" Value="~TimeZone ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Finalize() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.IconFactory</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
-      <Parameters>
-        <Parameter Name="path" Type="Gtk.WidgetPath" />
-      </Parameters>
+      <Parameters />
       <Docs>
-        <param name="path">To be added.</param>
         <summary>To be added.</summary>
-        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GetNamed">
-      <MemberSignature Language="C#" Value="public static Gtk.CssProvider GetNamed (string name, string variant);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.CssProvider GetNamed(string name, string variant) cil managed" />
+    <Member MemberName="FindInterval">
+      <MemberSignature Language="C#" Value="public int FindInterval (int type, long time_);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 FindInterval(int32 type, int64 time_) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CssProvider</ReturnType>
+        <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="name" Type="System.String" />
-        <Parameter Name="variant" Type="System.String" />
+        <Parameter Name="type" Type="System.Int32" />
+        <Parameter Name="time_" Type="System.Int64" />
       </Parameters>
       <Docs>
-        <param name="name">To be added.</param>
-        <param name="variant">To be added.</param>
+        <param name="type">To be added.</param>
+        <param name="time_">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GetStyle">
-      <MemberSignature Language="C#" Value="public Gtk.StyleProperties GetStyle (Gtk.WidgetPath path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class Gtk.StyleProperties GetStyle(class Gtk.WidgetPath path) cil managed" />
+    <Member MemberName="GetAbbreviation">
+      <MemberSignature Language="C#" Value="public string GetAbbreviation (int interval);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetAbbreviation(int32 interval) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.StyleProperties</ReturnType>
+        <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="path" Type="Gtk.WidgetPath" />
+        <Parameter Name="interval" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="path">To be added.</param>
+        <param name="interval">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="GetStyleProperty">
-      <MemberSignature Language="C#" Value="public bool GetStyleProperty (Gtk.WidgetPath path, Gtk.StateFlags state, IntPtr pspec, GLib.Value value);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool GetStyleProperty(class Gtk.WidgetPath path, valuetype Gtk.StateFlags state, native int pspec, valuetype GLib.Value value) cil managed" />
+    <Member MemberName="GetOffset">
+      <MemberSignature Language="C#" Value="public int GetOffset (int interval);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 GetOffset(int32 interval) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
+        <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="path" Type="Gtk.WidgetPath" />
-        <Parameter Name="state" Type="Gtk.StateFlags" />
-        <Parameter Name="pspec" Type="System.IntPtr" />
-        <Parameter Name="value" Type="GLib.Value" />
+        <Parameter Name="interval" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="path">To be added.</param>
-        <param name="state">To be added.</param>
-        <param name="pspec">To be added.</param>
-        <param name="value">To be added.</param>
+        <param name="interval">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
@@ -166,56 +157,69 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="LoadFromData">
-      <MemberSignature Language="C#" Value="public bool LoadFromData (string data);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool LoadFromData(string data) cil managed" />
+    <Member MemberName="IsDst">
+      <MemberSignature Language="C#" Value="public bool IsDst (int interval);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsDst(int32 interval) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="data" Type="System.String" />
+        <Parameter Name="interval" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="data">To be added.</param>
+        <param name="interval">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="LoadFromFile">
-      <MemberSignature Language="C#" Value="public bool LoadFromFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool LoadFromFile(class GLib.File file) cil managed" />
+    <Member MemberName="NewUtc">
+      <MemberSignature Language="C#" Value="public static GLib.TimeZone NewUtc ();" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.TimeZone NewUtc() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
+        <ReturnType>GLib.TimeZone</ReturnType>
+      </ReturnValue>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="Ref">
+      <MemberSignature Language="C#" Value="protected override void Ref (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Ref(native int raw) cil managed" />
+      <MemberType>Method</MemberType>
+      <ReturnValue>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="file">To be added.</param>
+        <param name="raw">To be added.</param>
         <summary>To be added.</summary>
-        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="LoadFromPath">
-      <MemberSignature Language="C#" Value="public bool LoadFromPath (string path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool LoadFromPath(string path) cil managed" />
+    <Member MemberName="Unref">
+      <MemberSignature Language="C#" Value="protected override void Unref (IntPtr raw);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Unref(native int raw) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
+        <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="path" Type="System.String" />
+        <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="path">To be added.</param>
+        <param name="raw">To be added.</param>
         <summary>To be added.</summary>
-        <returns>To be added.</returns>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
diff --git a/doc/en/GLib/TlsCertificate.xml b/doc/en/GLib/TlsCertificate.xml
index 9eb7816..87df125 100644
--- a/doc/en/GLib/TlsCertificate.xml
+++ b/doc/en/GLib/TlsCertificate.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -104,9 +104,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.TlsCertificate" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -130,11 +130,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListNewFromFile">
-      <MemberSignature Language="C#" Value="public static GLib.List ListNewFromFile (string file);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List ListNewFromFile(string file) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.TlsCertificate[] ListNewFromFile (string file);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.TlsCertificate[] ListNewFromFile(string file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.TlsCertificate[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="file" Type="System.String" />
@@ -166,8 +166,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnVerify">
-      <MemberSignature Language="C#" Value="protected virtual GLib.TlsCertificateFlags OnVerify (GLib.SocketConnectable identity, GLib.TlsCertificate trusted_ca);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance valuetype GLib.TlsCertificateFlags OnVerify(class GLib.SocketConnectable identity, class GLib.TlsCertificate trusted_ca) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.TlsCertificateFlags OnVerify (GLib.ISocketConnectable identity, GLib.TlsCertificate trusted_ca);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance valuetype GLib.TlsCertificateFlags OnVerify(class GLib.ISocketConnectable identity, class GLib.TlsCertificate trusted_ca) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -178,7 +178,7 @@
         <ReturnType>GLib.TlsCertificateFlags</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="identity" Type="GLib.SocketConnectable" />
+        <Parameter Name="identity" Type="GLib.ISocketConnectable" />
         <Parameter Name="trusted_ca" Type="GLib.TlsCertificate" />
       </Parameters>
       <Docs>
@@ -191,14 +191,14 @@
       </Docs>
     </Member>
     <Member MemberName="Verify">
-      <MemberSignature Language="C#" Value="public GLib.TlsCertificateFlags Verify (GLib.SocketConnectable identity, GLib.TlsCertificate trusted_ca);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype GLib.TlsCertificateFlags Verify(class GLib.SocketConnectable identity, class GLib.TlsCertificate trusted_ca) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.TlsCertificateFlags Verify (GLib.ISocketConnectable identity, GLib.TlsCertificate trusted_ca);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype GLib.TlsCertificateFlags Verify(class GLib.ISocketConnectable identity, class GLib.TlsCertificate trusted_ca) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>GLib.TlsCertificateFlags</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="identity" Type="GLib.SocketConnectable" />
+        <Parameter Name="identity" Type="GLib.ISocketConnectable" />
         <Parameter Name="trusted_ca" Type="GLib.TlsCertificate" />
       </Parameters>
       <Docs>
diff --git a/doc/en/GLib/TlsClientConnectionAdapter.xml b/doc/en/GLib/TlsClientConnectionAdapter.xml
index 5beffc7..e8b74fe 100644
--- a/doc/en/GLib/TlsClientConnectionAdapter.xml
+++ b/doc/en/GLib/TlsClientConnectionAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TlsClientConnectionAdapter" FullName="GLib.TlsClientConnectionAdapter">
-  <TypeSignature Language="C#" Value="public class TlsClientConnectionAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.TlsClientConnection" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TlsClientConnectionAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.TlsClientConnection" />
+  <TypeSignature Language="C#" Value="public class TlsClientConnectionAdapter : GLib.GInterfaceAdapter, GLib.ITlsClientConnection, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TlsClientConnectionAdapter extends GLib.GInterfaceAdapter implements class GLib.ITlsClientConnection, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.ITlsClientConnection</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.TlsClientConnection</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TlsClientConnectionAdapter (GLib.TlsClientConnectionImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.TlsClientConnectionImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TlsClientConnectionAdapter (GLib.ITlsClientConnectionImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ITlsClientConnectionImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.TlsClientConnectionImplementor" />
+        <Parameter Name="implementor" Type="GLib.ITlsClientConnectionImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,8 +61,8 @@
       </Docs>
     </Member>
     <Member MemberName="AcceptedCas">
-      <MemberSignature Language="C#" Value="public GLib.List AcceptedCas { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.List AcceptedCas" />
+      <MemberSignature Language="C#" Value="public IntPtr[] AcceptedCas { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance native int[] AcceptedCas" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -70,7 +70,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>System.IntPtr[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -80,11 +80,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.TlsClientConnection GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.TlsClientConnection GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ITlsClientConnection GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ITlsClientConnection GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.TlsClientConnection</ReturnType>
+        <ReturnType>GLib.ITlsClientConnection</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -98,11 +98,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.TlsClientConnection GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.TlsClientConnection GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ITlsClientConnection GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ITlsClientConnection GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.TlsClientConnection</ReturnType>
+        <ReturnType>GLib.ITlsClientConnection</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -117,9 +117,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -146,11 +160,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.TlsClientConnectionImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.TlsClientConnectionImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.ITlsClientConnectionImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ITlsClientConnectionImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.TlsClientConnectionImplementor</ReturnType>
+        <ReturnType>GLib.ITlsClientConnectionImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -174,8 +188,8 @@
       </Docs>
     </Member>
     <Member MemberName="ServerIdentity">
-      <MemberSignature Language="C#" Value="public GLib.SocketConnectable ServerIdentity { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SocketConnectable ServerIdentity" />
+      <MemberSignature Language="C#" Value="public GLib.ISocketConnectable ServerIdentity { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ISocketConnectable ServerIdentity" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -183,7 +197,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SocketConnectable</ReturnType>
+        <ReturnType>GLib.ISocketConnectable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/TlsConnection.xml b/doc/en/GLib/TlsConnection.xml
index 4f12505..321aa49 100644
--- a/doc/en/GLib/TlsConnection.xml
+++ b/doc/en/GLib/TlsConnection.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -57,6 +57,25 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="BaseIoStream">
+      <MemberSignature Language="C#" Value="public GLib.IOStream BaseIoStream { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IOStream BaseIoStream" />
+      <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("base-io-stream")</AttributeName>
+        </Attribute>
+      </Attributes>
+      <ReturnValue>
+        <ReturnType>GLib.IOStream</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Certificate">
       <MemberSignature Language="C#" Value="public GLib.TlsCertificate Certificate { get; set; }" />
       <MemberSignature Language="ILAsm" Value=".property instance class GLib.TlsCertificate Certificate" />
@@ -104,9 +123,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.TlsConnection" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -150,14 +169,14 @@
       </Docs>
     </Member>
     <Member MemberName="HandshakeFinish">
-      <MemberSignature Language="C#" Value="public bool HandshakeFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool HandshakeFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool HandshakeFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool HandshakeFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -186,9 +205,9 @@
       <Docs>
         <param name="peer_cert">To be added.</param>
         <param name="errors">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:GLib.TlsConnection.AcceptCertificate" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.TlsConnection.AcceptCertificate" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -242,8 +261,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnHandshakeFinish">
-      <MemberSignature Language="C#" Value="protected virtual bool OnHandshakeFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnHandshakeFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnHandshakeFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnHandshakeFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -254,7 +273,7 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
diff --git a/doc/en/GLib/TlsServerConnectionAdapter.xml b/doc/en/GLib/TlsServerConnectionAdapter.xml
index bc0c6f4..7788bc4 100644
--- a/doc/en/GLib/TlsServerConnectionAdapter.xml
+++ b/doc/en/GLib/TlsServerConnectionAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TlsServerConnectionAdapter" FullName="GLib.TlsServerConnectionAdapter">
-  <TypeSignature Language="C#" Value="public class TlsServerConnectionAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.TlsServerConnection" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TlsServerConnectionAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.TlsServerConnection" />
+  <TypeSignature Language="C#" Value="public class TlsServerConnectionAdapter : GLib.GInterfaceAdapter, GLib.ITlsServerConnection, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TlsServerConnectionAdapter extends GLib.GInterfaceAdapter implements class GLib.ITlsServerConnection, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.ITlsServerConnection</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.TlsServerConnection</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TlsServerConnectionAdapter (GLib.TlsServerConnectionImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.TlsServerConnectionImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TlsServerConnectionAdapter (GLib.ITlsServerConnectionImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.ITlsServerConnectionImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="GLib.TlsServerConnectionImplementor" />
+        <Parameter Name="implementor" Type="GLib.ITlsServerConnectionImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.TlsServerConnection GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.TlsServerConnection GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ITlsServerConnection GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ITlsServerConnection GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.TlsServerConnection</ReturnType>
+        <ReturnType>GLib.ITlsServerConnection</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -79,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.TlsServerConnection GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.TlsServerConnection GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.ITlsServerConnection GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.ITlsServerConnection GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.TlsServerConnection</ReturnType>
+        <ReturnType>GLib.ITlsServerConnection</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -98,9 +98,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -127,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public GLib.TlsServerConnectionImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.TlsServerConnectionImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public GLib.ITlsServerConnectionImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.ITlsServerConnectionImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.TlsServerConnectionImplementor</ReturnType>
+        <ReturnType>GLib.ITlsServerConnectionImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/UnixConnection.xml b/doc/en/GLib/UnixConnection.xml
index 483ae22..fd3f017 100644
--- a/doc/en/GLib/UnixConnection.xml
+++ b/doc/en/GLib/UnixConnection.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.UnixConnection" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/UnixCredentialsMessage.xml b/doc/en/GLib/UnixCredentialsMessage.xml
index 85d5434..6d394d5 100644
--- a/doc/en/GLib/UnixCredentialsMessage.xml
+++ b/doc/en/GLib/UnixCredentialsMessage.xml
@@ -47,9 +47,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -80,9 +80,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.UnixCredentialsMessage" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/UnixFDList.xml b/doc/en/GLib/UnixFDList.xml
index 9b5af97..3b74841 100644
--- a/doc/en/GLib/UnixFDList.xml
+++ b/doc/en/GLib/UnixFDList.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -99,9 +99,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.UnixFDList" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/UnixFDMessage.xml b/doc/en/GLib/UnixFDMessage.xml
index 8d768db..1e0c21b 100644
--- a/doc/en/GLib/UnixFDMessage.xml
+++ b/doc/en/GLib/UnixFDMessage.xml
@@ -47,9 +47,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -75,6 +75,11 @@
       <MemberSignature Language="C#" Value="public GLib.UnixFDList FdList { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance class GLib.UnixFDList FdList" />
       <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("fd-list")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
         <ReturnType>GLib.UnixFDList</ReturnType>
       </ReturnValue>
@@ -93,9 +98,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.UnixFDMessage" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/UnixResolver.xml b/doc/en/GLib/UnixResolver.xml
index 552bac2..af55c43 100644
--- a/doc/en/GLib/UnixResolver.xml
+++ b/doc/en/GLib/UnixResolver.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.UnixResolver" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/UnixSocketAddress.xml b/doc/en/GLib/UnixSocketAddress.xml
index afcbb8b..3e9aa71 100644
--- a/doc/en/GLib/UnixSocketAddress.xml
+++ b/doc/en/GLib/UnixSocketAddress.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -119,9 +119,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.UnixSocketAddress" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/Vfs.xml b/doc/en/GLib/Vfs.xml
index c063aba..fc093a5 100644
--- a/doc/en/GLib/Vfs.xml
+++ b/doc/en/GLib/Vfs.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -54,11 +54,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetFileForPath">
-      <MemberSignature Language="C#" Value="public GLib.File GetFileForPath (string path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.File GetFileForPath(string path) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile GetFileForPath (string path);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IFile GetFileForPath(string path) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="path" Type="System.String" />
@@ -68,15 +68,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetFileForUri">
-      <MemberSignature Language="C#" Value="public GLib.File GetFileForUri (string uri);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.File GetFileForUri(string uri) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile GetFileForUri (string uri);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IFile GetFileForUri(string uri) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uri" Type="System.String" />
@@ -86,7 +86,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -97,9 +97,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.Vfs" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -154,8 +154,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnGetFileForPath">
-      <MemberSignature Language="C#" Value="protected virtual GLib.File OnGetFileForPath (string path);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.File OnGetFileForPath(string path) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IFile OnGetFileForPath (string path);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IFile OnGetFileForPath(string path) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -163,7 +163,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="path" Type="System.String" />
@@ -173,12 +173,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetFileForUri">
-      <MemberSignature Language="C#" Value="protected virtual GLib.File OnGetFileForUri (string uri);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.File OnGetFileForUri(string uri) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IFile OnGetFileForUri (string uri);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IFile OnGetFileForUri(string uri) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -186,7 +186,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uri" Type="System.String" />
@@ -196,7 +196,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnIsActive">
@@ -329,8 +329,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnParseName">
-      <MemberSignature Language="C#" Value="protected virtual GLib.File OnParseName (string parse_name);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.File OnParseName(string parse_name) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IFile OnParseName (string parse_name);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IFile OnParseName(string parse_name) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -338,7 +338,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="parse_name" Type="System.String" />
@@ -348,15 +348,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ParseName">
-      <MemberSignature Language="C#" Value="public GLib.File ParseName (string parse_name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.File ParseName(string parse_name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IFile ParseName (string parse_name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IFile ParseName(string parse_name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="parse_name" Type="System.String" />
@@ -366,7 +366,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SupportedUriSchemes">
diff --git a/doc/en/GLib/VolumeAdapter.xml b/doc/en/GLib/VolumeAdapter.xml
index 7c6f253..ad71c46 100644
--- a/doc/en/GLib/VolumeAdapter.xml
+++ b/doc/en/GLib/VolumeAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="VolumeAdapter" FullName="GLib.VolumeAdapter">
-  <TypeSignature Language="C#" Value="public class VolumeAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, GLib.Volume" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit VolumeAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class GLib.Volume" />
+  <TypeSignature Language="C#" Value="public class VolumeAdapter : GLib.GInterfaceAdapter, GLib.IVolume, GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit VolumeAdapter extends GLib.GInterfaceAdapter implements class GLib.IVolume, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
+      <InterfaceName>GLib.IVolume</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>GLib.Volume</InterfaceName>
+      <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -36,11 +36,11 @@
       </Docs>
     </Member>
     <Member MemberName="ActivationRoot">
-      <MemberSignature Language="C#" Value="public GLib.File ActivationRoot { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File ActivationRoot" />
+      <MemberSignature Language="C#" Value="public GLib.IFile ActivationRoot { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile ActivationRoot" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -98,11 +98,11 @@
       </Docs>
     </Member>
     <Member MemberName="Drive">
-      <MemberSignature Language="C#" Value="public GLib.Drive Drive { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive Drive" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive Drive { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive Drive" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive</ReturnType>
+        <ReturnType>GLib.IDrive</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -138,8 +138,8 @@
       </Docs>
     </Member>
     <Member MemberName="EjectFinish">
-      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -150,14 +150,14 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperation">
@@ -184,14 +184,14 @@
       </Docs>
     </Member>
     <Member MemberName="EjectWithOperationFinish">
-      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool EjectWithOperationFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool EjectWithOperationFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
@@ -235,11 +235,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Volume GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Volume GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IVolume GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IVolume GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -249,15 +249,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static GLib.Volume GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Volume GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IVolume GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IVolume GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -269,12 +269,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -301,11 +315,11 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -338,29 +352,29 @@
       </Docs>
     </Member>
     <Member MemberName="MountFinish">
-      <MemberSignature Language="C#" Value="public bool MountFinish (GLib.AsyncResult result);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountFinish(class GLib.AsyncResult result) cil managed" />
+      <MemberSignature Language="C#" Value="public bool MountFinish (GLib.IAsyncResult result);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MountFinish(class GLib.IAsyncResult result) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="result" Type="GLib.AsyncResult" />
+        <Parameter Name="result" Type="GLib.IAsyncResult" />
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MountInstance">
-      <MemberSignature Language="C#" Value="public GLib.Mount MountInstance { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount MountInstance" />
+      <MemberSignature Language="C#" Value="public GLib.IMount MountInstance { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount MountInstance" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/VolumeAddedArgs.xml b/doc/en/GLib/VolumeAddedArgs.xml
index c6d724f..25da2a1 100644
--- a/doc/en/GLib/VolumeAddedArgs.xml
+++ b/doc/en/GLib/VolumeAddedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.VolumeAdded" /> event invokes <see cref="T:GLib.VolumeAddedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.VolumeAddedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.VolumeAddedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Volume">
-      <MemberSignature Language="C#" Value="public GLib.Volume Volume { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Volume Volume" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume Volume { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume Volume" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/VolumeAddedHandler.xml b/doc/en/GLib/VolumeAddedHandler.xml
index e49af3c..0893011 100644
--- a/doc/en/GLib/VolumeAddedHandler.xml
+++ b/doc/en/GLib/VolumeAddedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.VolumeAdded" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.VolumeAddedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.VolumeAddedHandler" /> to an event, add the VolumeAddedHandler instance to the event.  The methods referenced by the VolumeAddedHandler instance are invoked whenever the event is raised, until the VolumeAddedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/VolumeChangedArgs.xml b/doc/en/GLib/VolumeChangedArgs.xml
index 19fcf44..5b26dd8 100644
--- a/doc/en/GLib/VolumeChangedArgs.xml
+++ b/doc/en/GLib/VolumeChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.VolumeChanged" /> event invokes <see cref="T:GLib.VolumeChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.VolumeChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.VolumeChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Volume">
-      <MemberSignature Language="C#" Value="public GLib.Volume Volume { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Volume Volume" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume Volume { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume Volume" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/VolumeChangedHandler.xml b/doc/en/GLib/VolumeChangedHandler.xml
index 03343cb..ba3231b 100644
--- a/doc/en/GLib/VolumeChangedHandler.xml
+++ b/doc/en/GLib/VolumeChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.VolumeChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.VolumeChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.VolumeChangedHandler" /> to an event, add the VolumeChangedHandler instance to the event.  The methods referenced by the VolumeChangedHandler instance are invoked whenever the event is raised, until the VolumeChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/VolumeMonitor.xml b/doc/en/GLib/VolumeMonitor.xml
index 463f82e..99d21d0 100644
--- a/doc/en/GLib/VolumeMonitor.xml
+++ b/doc/en/GLib/VolumeMonitor.xml
@@ -33,15 +33,15 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="AdoptOrphanMount">
-      <MemberSignature Language="C#" Value="public static GLib.Volume AdoptOrphanMount (GLib.Mount mount);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.Volume AdoptOrphanMount(class GLib.Mount mount) cil managed" />
+      <MemberSignature Language="C#" Value="public static GLib.IVolume AdoptOrphanMount (GLib.IMount mount);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.IVolume AdoptOrphanMount(class GLib.IMount mount) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -49,25 +49,25 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="mount" Type="GLib.Mount" />
+        <Parameter Name="mount" Type="GLib.IMount" />
       </Parameters>
       <Docs>
         <param name="mount">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ConnectedDrives">
-      <MemberSignature Language="C#" Value="public GLib.Drive[] ConnectedDrives { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Drive[] ConnectedDrives" />
+      <MemberSignature Language="C#" Value="public GLib.IDrive[] ConnectedDrives { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IDrive[] ConnectedDrives" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Drive[]</ReturnType>
+        <ReturnType>GLib.IDrive[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -181,11 +181,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetMountForUuid">
-      <MemberSignature Language="C#" Value="public GLib.Mount GetMountForUuid (string uuid);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Mount GetMountForUuid(string uuid) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IMount GetMountForUuid (string uuid);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IMount GetMountForUuid(string uuid) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uuid" Type="System.String" />
@@ -195,15 +195,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetVolumeForUuid">
-      <MemberSignature Language="C#" Value="public GLib.Volume GetVolumeForUuid (string uuid);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Volume GetVolumeForUuid(string uuid) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume GetVolumeForUuid (string uuid);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IVolume GetVolumeForUuid(string uuid) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uuid" Type="System.String" />
@@ -213,7 +213,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -224,9 +224,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.VolumeMonitor" />.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
@@ -303,11 +303,11 @@
       </Docs>
     </Member>
     <Member MemberName="Mounts">
-      <MemberSignature Language="C#" Value="public GLib.Mount[] Mounts { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Mount[] Mounts" />
+      <MemberSignature Language="C#" Value="public GLib.IMount[] Mounts { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IMount[] Mounts" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Mount[]</ReturnType>
+        <ReturnType>GLib.IMount[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -317,8 +317,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnDriveChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnDriveChanged (GLib.Drive drive);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveChanged(class GLib.Drive drive) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnDriveChanged (GLib.IDrive drive);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveChanged(class GLib.IDrive drive) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -329,18 +329,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="drive" Type="GLib.Drive" />
+        <Parameter Name="drive" Type="GLib.IDrive" />
       </Parameters>
       <Docs>
         <param name="drive">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.DriveChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.DriveChanged" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnDriveConnected">
-      <MemberSignature Language="C#" Value="protected virtual void OnDriveConnected (GLib.Drive drive);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveConnected(class GLib.Drive drive) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnDriveConnected (GLib.IDrive drive);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveConnected(class GLib.IDrive drive) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -351,18 +351,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="drive" Type="GLib.Drive" />
+        <Parameter Name="drive" Type="GLib.IDrive" />
       </Parameters>
       <Docs>
         <param name="drive">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.DriveConnected" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.DriveConnected" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnDriveDisconnected">
-      <MemberSignature Language="C#" Value="protected virtual void OnDriveDisconnected (GLib.Drive drive);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveDisconnected(class GLib.Drive drive) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnDriveDisconnected (GLib.IDrive drive);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveDisconnected(class GLib.IDrive drive) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -373,18 +373,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="drive" Type="GLib.Drive" />
+        <Parameter Name="drive" Type="GLib.IDrive" />
       </Parameters>
       <Docs>
         <param name="drive">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.DriveDisconnected" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.DriveDisconnected" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnDriveEjectButton">
-      <MemberSignature Language="C#" Value="protected virtual void OnDriveEjectButton (GLib.Drive drive);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveEjectButton(class GLib.Drive drive) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnDriveEjectButton (GLib.IDrive drive);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveEjectButton(class GLib.IDrive drive) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -395,18 +395,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="drive" Type="GLib.Drive" />
+        <Parameter Name="drive" Type="GLib.IDrive" />
       </Parameters>
       <Docs>
         <param name="drive">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.DriveEjectButton" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.DriveEjectButton" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnDriveStopButton">
-      <MemberSignature Language="C#" Value="protected virtual void OnDriveStopButton (GLib.Drive drive);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveStopButton(class GLib.Drive drive) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnDriveStopButton (GLib.IDrive drive);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDriveStopButton(class GLib.IDrive drive) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -417,18 +417,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="drive" Type="GLib.Drive" />
+        <Parameter Name="drive" Type="GLib.IDrive" />
       </Parameters>
       <Docs>
         <param name="drive">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.DriveStopButton" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.DriveStopButton" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetConnectedDrives">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnGetConnectedDrives ();" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnGetConnectedDrives() cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IDrive[] OnGetConnectedDrives ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IDrive[] OnGetConnectedDrives() cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -436,19 +436,19 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IDrive[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetMountForUuid">
-      <MemberSignature Language="C#" Value="protected virtual GLib.Mount OnGetMountForUuid (string uuid);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.Mount OnGetMountForUuid(string uuid) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IMount OnGetMountForUuid (string uuid);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IMount OnGetMountForUuid(string uuid) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -456,7 +456,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Mount</ReturnType>
+        <ReturnType>GLib.IMount</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uuid" Type="System.String" />
@@ -466,12 +466,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetMounts">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnGetMounts ();" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnGetMounts() cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IMount[] OnGetMounts ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IMount[] OnGetMounts() cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -479,19 +479,19 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IMount[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetVolumeForUuid">
-      <MemberSignature Language="C#" Value="protected virtual GLib.Volume OnGetVolumeForUuid (string uuid);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.Volume OnGetVolumeForUuid(string uuid) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IVolume OnGetVolumeForUuid (string uuid);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IVolume OnGetVolumeForUuid(string uuid) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -499,7 +499,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="uuid" Type="System.String" />
@@ -509,12 +509,12 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetVolumes">
-      <MemberSignature Language="C#" Value="protected virtual GLib.List OnGetVolumes ();" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.List OnGetVolumes() cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual GLib.IVolume[] OnGetVolumes ();" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class GLib.IVolume[] OnGetVolumes() cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -522,19 +522,19 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>GLib.IVolume[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnMountAdded">
-      <MemberSignature Language="C#" Value="protected virtual void OnMountAdded (GLib.Mount mount);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountAdded(class GLib.Mount mount) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnMountAdded (GLib.IMount mount);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountAdded(class GLib.IMount mount) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -545,18 +545,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="mount" Type="GLib.Mount" />
+        <Parameter Name="mount" Type="GLib.IMount" />
       </Parameters>
       <Docs>
         <param name="mount">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.MountAdded" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.MountAdded" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnMountChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnMountChanged (GLib.Mount mount);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountChanged(class GLib.Mount mount) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnMountChanged (GLib.IMount mount);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountChanged(class GLib.IMount mount) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -567,18 +567,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="mount" Type="GLib.Mount" />
+        <Parameter Name="mount" Type="GLib.IMount" />
       </Parameters>
       <Docs>
         <param name="mount">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.MountChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.MountChanged" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnMountPreUnmount">
-      <MemberSignature Language="C#" Value="protected virtual void OnMountPreUnmount (GLib.Mount mount);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountPreUnmount(class GLib.Mount mount) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnMountPreUnmount (GLib.IMount mount);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountPreUnmount(class GLib.IMount mount) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -589,18 +589,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="mount" Type="GLib.Mount" />
+        <Parameter Name="mount" Type="GLib.IMount" />
       </Parameters>
       <Docs>
         <param name="mount">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.MountPreUnmount" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.MountPreUnmount" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnMountRemoved">
-      <MemberSignature Language="C#" Value="protected virtual void OnMountRemoved (GLib.Mount mount);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountRemoved(class GLib.Mount mount) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnMountRemoved (GLib.IMount mount);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnMountRemoved(class GLib.IMount mount) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -611,18 +611,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="mount" Type="GLib.Mount" />
+        <Parameter Name="mount" Type="GLib.IMount" />
       </Parameters>
       <Docs>
         <param name="mount">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.MountRemoved" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.MountRemoved" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnVolumeAdded">
-      <MemberSignature Language="C#" Value="protected virtual void OnVolumeAdded (GLib.Volume volume);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnVolumeAdded(class GLib.Volume volume) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnVolumeAdded (GLib.IVolume volume);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnVolumeAdded(class GLib.IVolume volume) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -633,18 +633,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="volume" Type="GLib.Volume" />
+        <Parameter Name="volume" Type="GLib.IVolume" />
       </Parameters>
       <Docs>
         <param name="volume">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.VolumeAdded" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.VolumeAdded" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnVolumeChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnVolumeChanged (GLib.Volume volume);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnVolumeChanged(class GLib.Volume volume) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnVolumeChanged (GLib.IVolume volume);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnVolumeChanged(class GLib.IVolume volume) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -655,18 +655,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="volume" Type="GLib.Volume" />
+        <Parameter Name="volume" Type="GLib.IVolume" />
       </Parameters>
       <Docs>
         <param name="volume">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.VolumeChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.VolumeChanged" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnVolumeRemoved">
-      <MemberSignature Language="C#" Value="protected virtual void OnVolumeRemoved (GLib.Volume volume);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnVolumeRemoved(class GLib.Volume volume) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnVolumeRemoved (GLib.IVolume volume);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnVolumeRemoved(class GLib.IVolume volume) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -677,13 +677,13 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="volume" Type="GLib.Volume" />
+        <Parameter Name="volume" Type="GLib.IVolume" />
       </Parameters>
       <Docs>
         <param name="volume">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.14" />
+        <summary>Default handler for the <see cref="M:GLib.VolumeMonitor.VolumeRemoved" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:GLib.VolumeMonitor.VolumeRemoved" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="VolumeAdded">
@@ -741,11 +741,11 @@
       </Docs>
     </Member>
     <Member MemberName="Volumes">
-      <MemberSignature Language="C#" Value="public GLib.Volume[] Volumes { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Volume[] Volumes" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume[] Volumes { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume[] Volumes" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume[]</ReturnType>
+        <ReturnType>GLib.IVolume[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/VolumeRemovedArgs.xml b/doc/en/GLib/VolumeRemovedArgs.xml
index 6d63c41..855f926 100644
--- a/doc/en/GLib/VolumeRemovedArgs.xml
+++ b/doc/en/GLib/VolumeRemovedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.VolumeRemoved" /> event invokes <see cref="T:GLib.VolumeRemovedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.VolumeRemovedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.VolumeRemovedHandler" /> delegate.</remarks>
         <since version="Gtk# 2.14" />
       </Docs>
     </Member>
     <Member MemberName="Volume">
-      <MemberSignature Language="C#" Value="public GLib.Volume Volume { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Volume Volume" />
+      <MemberSignature Language="C#" Value="public GLib.IVolume Volume { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IVolume Volume" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Volume</ReturnType>
+        <ReturnType>GLib.IVolume</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/GLib/VolumeRemovedHandler.xml b/doc/en/GLib/VolumeRemovedHandler.xml
index 62938ba..76a3aeb 100644
--- a/doc/en/GLib/VolumeRemovedHandler.xml
+++ b/doc/en/GLib/VolumeRemovedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.VolumeMonitor.VolumeRemoved" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.VolumeRemovedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.VolumeRemovedHandler" /> to an event, add the VolumeRemovedHandler instance to the event.  The methods referenced by the VolumeRemovedHandler instance are invoked whenever the event is raised, until the VolumeRemovedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.14" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/WritableChangeEventArgs.xml b/doc/en/GLib/WritableChangeEventArgs.xml
index db7ef2c..9b95cf3 100644
--- a/doc/en/GLib/WritableChangeEventArgs.xml
+++ b/doc/en/GLib/WritableChangeEventArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Settings.WritableChangeEvent" /> event invokes <see cref="T:GLib.WritableChangeEventHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.WritableChangeEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.WritableChangeEventHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/WritableChangeEventHandler.xml b/doc/en/GLib/WritableChangeEventHandler.xml
index db10c67..1f0681a 100644
--- a/doc/en/GLib/WritableChangeEventHandler.xml
+++ b/doc/en/GLib/WritableChangeEventHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Settings.WritableChangeEvent" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.WritableChangeEventArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.WritableChangeEventHandler" /> to an event, add the WritableChangeEventHandler instance to the event.  The methods referenced by the WritableChangeEventHandler instance are invoked whenever the event is raised, until the WritableChangeEventHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/WritableChangedArgs.xml b/doc/en/GLib/WritableChangedArgs.xml
index ff819ff..06fb7dd 100644
--- a/doc/en/GLib/WritableChangedArgs.xml
+++ b/doc/en/GLib/WritableChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Settings.WritableChanged" /> event invokes <see cref="T:GLib.WritableChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:GLib.WritableChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:GLib.WritableChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/WritableChangedHandler.xml b/doc/en/GLib/WritableChangedHandler.xml
index 6487dfe..b44d1b3 100644
--- a/doc/en/GLib/WritableChangedHandler.xml
+++ b/doc/en/GLib/WritableChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:GLib.Settings.WritableChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:GLib.WritableChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:GLib.WritableChangedHandler" /> to an event, add the WritableChangedHandler instance to the event.  The methods referenced by the WritableChangedHandler instance are invoked whenever the event is raised, until the WritableChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/GLib/ZlibCompressor.xml b/doc/en/GLib/ZlibCompressor.xml
index d874757..60dc751 100644
--- a/doc/en/GLib/ZlibCompressor.xml
+++ b/doc/en/GLib/ZlibCompressor.xml
@@ -1,6 +1,6 @@
 <Type Name="ZlibCompressor" FullName="GLib.ZlibCompressor">
-  <TypeSignature Language="C#" Value="public class ZlibCompressor : GLib.Object, GLib.Converter" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ZlibCompressor extends GLib.Object implements class GLib.Converter, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ZlibCompressor : GLib.Object, GLib.IConverter" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ZlibCompressor extends GLib.Object implements class GLib.IConverter, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Converter</InterfaceName>
+      <InterfaceName>GLib.IConverter</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -124,9 +124,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ZlibCompressor" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/GLib/ZlibDecompressor.xml b/doc/en/GLib/ZlibDecompressor.xml
index fa6b9ae..c546050 100644
--- a/doc/en/GLib/ZlibDecompressor.xml
+++ b/doc/en/GLib/ZlibDecompressor.xml
@@ -1,6 +1,6 @@
 <Type Name="ZlibDecompressor" FullName="GLib.ZlibDecompressor">
-  <TypeSignature Language="C#" Value="public class ZlibDecompressor : GLib.Object, GLib.Converter" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ZlibDecompressor extends GLib.Object implements class GLib.Converter, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Value="public class ZlibDecompressor : GLib.Object, GLib.IConverter" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ZlibDecompressor extends GLib.Object implements class GLib.IConverter, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gio-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Converter</InterfaceName>
+      <InterfaceName>GLib.IConverter</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -40,9 +40,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -122,9 +122,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:GLib.ZlibDecompressor" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/AppLaunchContext.xml b/doc/en/Gdk/AppLaunchContext.xml
index e11dcdc..6576333 100644
--- a/doc/en/Gdk/AppLaunchContext.xml
+++ b/doc/en/Gdk/AppLaunchContext.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -83,18 +83,18 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.AppLaunchContext" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gdk/AreaUpdatedHandler.xml b/doc/en/Gdk/AreaUpdatedHandler.xml
index aaae961..097c77c 100644
--- a/doc/en/Gdk/AreaUpdatedHandler.xml
+++ b/doc/en/Gdk/AreaUpdatedHandler.xml
@@ -16,8 +16,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Gdk.PixbufLoader.AreaUpdated" /> event utilizes this delegate:</para>
diff --git a/doc/en/Gdk/BRESINFO.xml b/doc/en/Gdk/BRESINFO.xml
deleted file mode 100644
index a4cc1ec..0000000
--- a/doc/en/Gdk/BRESINFO.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<Type Name="BRESINFO" FullName="Gdk.BRESINFO">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct BRESINFO" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.BRESINFO Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.BRESINFO</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.BRESINFO New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.BRESINFO</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.BRESINFO'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="MinorAxis">
-      <MemberSignature Language="C#" Value="public int MinorAxis;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="D">
-      <MemberSignature Language="C#" Value="public int D;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="M">
-      <MemberSignature Language="C#" Value="public int M;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="M1">
-      <MemberSignature Language="C#" Value="public int M1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Incr1">
-      <MemberSignature Language="C#" Value="public int Incr1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Incr2">
-      <MemberSignature Language="C#" Value="public int Incr2;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/CapStyle.xml b/doc/en/Gdk/CapStyle.xml
deleted file mode 100644
index 6cba252..0000000
--- a/doc/en/Gdk/CapStyle.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<Type Name="CapStyle" FullName="Gdk.CapStyle">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum CapStyle" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Determines how the end of lines are drawn.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.CapStyleGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="NotLast">
-      <MemberSignature Language="C#" Value="NotLast" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.CapStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The same as Butt for lines of non-zero width. For zero width lines, the final point on the line will not be drawn.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Butt">
-      <MemberSignature Language="C#" Value="Butt" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.CapStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The ends of the lines are drawn squared off and extending to the coordinates of the end point.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Round">
-      <MemberSignature Language="C#" Value="Round" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.CapStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The ends of the lines are drawn as semicircles with the diameter equal to the line width and centered at the end point.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Projecting">
-      <MemberSignature Language="C#" Value="Projecting" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.CapStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The ends of the lines are drawn squared off and extending half the width of the line beyond the end point.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Char.xml b/doc/en/Gdk/Char.xml
deleted file mode 100644
index 409f2fe..0000000
--- a/doc/en/Gdk/Char.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-<Type Name="Char" FullName="Gdk.Char">
-  <TypeSignature Language="C#" Value="public class Char" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Height">
-      <MemberSignature Language="C#" Value="public static int Height (Gdk.Font font, string character);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="character" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="character">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="WidthWc">
-      <MemberSignature Language="C#" Value="public static int WidthWc (Gdk.Font font, uint character);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="character" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="character">a <see cref="T:System.UInt32" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Measure">
-      <MemberSignature Language="C#" Value="public static int Measure (Gdk.Font font, string character);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="character" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="character">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Width">
-      <MemberSignature Language="C#" Value="public static int Width (Gdk.Font font, string character);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="character" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="character">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Char ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/ClosedHandler.xml b/doc/en/Gdk/ClosedHandler.xml
index 0340e8c..ca958b7 100644
--- a/doc/en/Gdk/ClosedHandler.xml
+++ b/doc/en/Gdk/ClosedHandler.xml
@@ -17,8 +17,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Gdk.Display.Closed" /> event utilizes this delegate:</para>
diff --git a/doc/en/Gdk/Colormap.xml b/doc/en/Gdk/Colormap.xml
deleted file mode 100644
index bc4d59e..0000000
--- a/doc/en/Gdk/Colormap.xml
+++ /dev/null
@@ -1,274 +0,0 @@
-<Type Name="Colormap" FullName="Gdk.Colormap">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Colormap : GLib.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A structure that contains different colors.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Colormap (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Colormap (Gdk.Visual visual, bool allocate);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="visual" Type="Gdk.Visual" />
-        <Parameter Name="allocate" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Creates a new colormap for the given visual.</summary>
-        <param name="visual">A <see cref="T:Gdk.Visual" /></param>
-        <param name="allocate">if true, the newly created colormap will be a private colormap, and all colors in it will be allocated for the applications use.</param>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="System">
-      <MemberSignature Language="C#" Value="public static Gdk.Colormap System { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Colormap</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the system's default colormap for the default screen.</summary>
-        <value>The system's default colormap for the default screen.</value>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Visual">
-      <MemberSignature Language="C#" Value="public Gdk.Visual Visual { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Visual</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Returns the visual for which a given colormap was created.</summary>
-        <value>The <see cref="Gdk.Visual" /> of the colormap.</value>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AllocColor">
-      <MemberSignature Language="C#" Value="public bool AllocColor (ref Gdk.Color color, bool writeable, bool best_match);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="color" Type="Gdk.Color&" RefType="ref" />
-        <Parameter Name="writeable" Type="System.Boolean" />
-        <Parameter Name="best_match" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Allocates a single color from a colormap.</summary>
-        <param name="color">The color to allocate. On return the pixel field will be filled in if allocation succeeds.</param>
-        <param name="writeable">If true, the color is allocated writeable (their values can later be changed using <see cref="M:Gdk.Color.Change" />). Writeable colors cannot be shared between applications.</param>
-        <param name="best_match">If true, GDK will attempt to do matching against existing colors if the color cannot be allocated as requested.</param>
-        <returns>True if the allocation succeeded.</returns>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Screen">
-      <MemberSignature Language="C#" Value="public Gdk.Screen Screen { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Screen</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the screen for which this colormap was created.</summary>
-        <value>The screen for which this colormap was created.</value>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Colormap" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="QueryColor">
-      <MemberSignature Language="C#" Value="public void QueryColor (ulong pixel, ref Gdk.Color result);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="pixel" Type="System.UInt64" />
-        <Parameter Name="result" Type="Gdk.Color&" RefType="ref" />
-      </Parameters>
-      <Docs>
-        <summary>Locates the RGB color in the colormap corresponding to the given hardware pixel.</summary>
-        <param name="pixel">Pixel value in hardware display format.</param>
-        <param name="result">
-          <see cref="T:Gdk.Color" /> with red, green, blue fields initialized.</param>
-        <remarks>Pixel must be a valid pixel in the colormap; it's a programmer error to call his function with a pixel which is not in the colormap. Hardware pixels are normally obtained from <see cref="M:Gdk.Colormap.AllocColors" />, or from a <see cref="T:Gdk.Image" />. (A <see cref="T:Gdk.Image" /> contains image data in hardware format, a <see cref="T:Gdk.Pixbuf" /> contains image data in a canonical 24-bit RGB format.)</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FreeColors">
-      <MemberSignature Language="C#" Value="public void FreeColors (Gdk.Color[] colors, int ncolors);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="colors" Type="Gdk.Color[]" />
-        <Parameter Name="ncolors" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Frees previously allocated colors.</summary>
-        <param name="colors">The colors to free.</param>
-        <param name="ncolors">The number of colors in colors.</param>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AllocColors">
-      <MemberSignature Language="C#" Value="public int AllocColors (Gdk.Color[] colors, int ncolors, bool writeable, bool best_match, bool[] success);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="colors" Type="Gdk.Color[]" />
-        <Parameter Name="ncolors" Type="System.Int32" />
-        <Parameter Name="writeable" Type="System.Boolean" />
-        <Parameter Name="best_match" Type="System.Boolean" />
-        <Parameter Name="success" Type="System.Boolean[]" />
-      </Parameters>
-      <Docs>
-        <summary>Allocates colors from a colormap.</summary>
-        <param name="colors">The color values to allocate. On return, the pixel values for allocated colors will be filled in.</param>
-        <param name="ncolors">The number of colors in colors.</param>
-        <param name="writeable">If true, the colors are allocated writeable (their values can later be changed using <see cref="M:Gdk.Color.Change" />). Writeable colors cannot be shared between applications.</param>
-        <param name="best_match">If true, GDK will attempt to do matching against existing colors if the colors cannot be allocated as requested.</param>
-        <param name="success">An array of length ncolors. On return, this indicates whether the corresponding color in colors was sucessfully allocated or not.</param>
-        <returns>The number of colors that were not successfully allocated.</returns>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Colormap (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.Colormap" /> that would have their own GLib.GType assigned to it.  This is not typically used by C# code.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SystemSize">
-      <MemberSignature Language="C#" Value="public static int SystemSize { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Ref">
-      <MemberSignature Language="C#" Value="public Gdk.Colormap Ref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Colormap</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.Colormap" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Unref">
-      <MemberSignature Language="C#" Value="public void Unref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Change">
-      <MemberSignature Language="C#" Value="public void Change (int ncolors);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="ncolors" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="ncolors">a <see cref="T:System.Int32" /></param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Size">
-      <MemberSignature Language="C#" Value="public int Size { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The size of the <see cref="T:Gdk.Colormap" /></summary>
-        <value>The size of the <see cref="T:Gdk.Colormap" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/CreateSurfaceArgs.xml b/doc/en/Gdk/CreateSurfaceArgs.xml
index 380f815..b6700bd 100644
--- a/doc/en/Gdk/CreateSurfaceArgs.xml
+++ b/doc/en/Gdk/CreateSurfaceArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.CreateSurface" /> event invokes <see cref="T:Gdk.CreateSurfaceHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.CreateSurfaceArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.CreateSurfaceHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/CreateSurfaceHandler.xml b/doc/en/Gdk/CreateSurfaceHandler.xml
index bc99ce3..4b49348 100644
--- a/doc/en/Gdk/CreateSurfaceHandler.xml
+++ b/doc/en/Gdk/CreateSurfaceHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.CreateSurface" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.CreateSurfaceArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.CreateSurfaceHandler" /> to an event, add the CreateSurfaceHandler instance to the event.  The methods referenced by the CreateSurfaceHandler instance are invoked whenever the event is raised, until the CreateSurfaceHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/DestroyNotify.xml b/doc/en/Gdk/DestroyNotify.xml
deleted file mode 100644
index fc802c7..0000000
--- a/doc/en/Gdk/DestroyNotify.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<Type Name="DestroyNotify" FullName="Gdk.DestroyNotify">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void DestroyNotify();" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A callback function called when a piece of user data is no longer being stored by GDK.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gdk/Device.xml b/doc/en/Gdk/Device.xml
index 18a7515..b7b1098 100644
--- a/doc/en/Gdk/Device.xml
+++ b/doc/en/Gdk/Device.xml
@@ -532,8 +532,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.Device.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Device.Changed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/DeviceAddedArgs.xml b/doc/en/Gdk/DeviceAddedArgs.xml
index c8cbe2c..947c49f 100644
--- a/doc/en/Gdk/DeviceAddedArgs.xml
+++ b/doc/en/Gdk/DeviceAddedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.DeviceManager.DeviceAdded" /> event invokes <see cref="T:Gdk.DeviceAddedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.DeviceAddedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.DeviceAddedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/DeviceAddedHandler.xml b/doc/en/Gdk/DeviceAddedHandler.xml
index b0b416f..7e7ff26 100644
--- a/doc/en/Gdk/DeviceAddedHandler.xml
+++ b/doc/en/Gdk/DeviceAddedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.DeviceManager.DeviceAdded" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.DeviceAddedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.DeviceAddedHandler" /> to an event, add the DeviceAddedHandler instance to the event.  The methods referenced by the DeviceAddedHandler instance are invoked whenever the event is raised, until the DeviceAddedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/DeviceAxis.xml b/doc/en/Gdk/DeviceAxis.xml
deleted file mode 100644
index 29ab245..0000000
--- a/doc/en/Gdk/DeviceAxis.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<Type Name="DeviceAxis" FullName="Gdk.DeviceAxis">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct DeviceAxis" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Contains information about the range and mapping of a device axis.</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.DeviceAxis Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.DeviceAxis</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.DeviceAxis New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.DeviceAxis</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.DeviceAxis'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Use">
-      <MemberSignature Language="C#" Value="public Gdk.AxisUse Use;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.AxisUse</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Specifies how the axis is used.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Min">
-      <MemberSignature Language="C#" Value="public double Min;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Minimal value that will be reported by this axis.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Max">
-      <MemberSignature Language="C#" Value="public double Max;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Maximal value that will be reported by this axis.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/DeviceChangedArgs.xml b/doc/en/Gdk/DeviceChangedArgs.xml
index ae88fe8..41cf8eb 100644
--- a/doc/en/Gdk/DeviceChangedArgs.xml
+++ b/doc/en/Gdk/DeviceChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.DeviceManager.DeviceChanged" /> event invokes <see cref="T:Gdk.DeviceChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.DeviceChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.DeviceChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/DeviceChangedHandler.xml b/doc/en/Gdk/DeviceChangedHandler.xml
index 7cc9521..c1b6228 100644
--- a/doc/en/Gdk/DeviceChangedHandler.xml
+++ b/doc/en/Gdk/DeviceChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.DeviceManager.DeviceChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.DeviceChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.DeviceChangedHandler" /> to an event, add the DeviceChangedHandler instance to the event.  The methods referenced by the DeviceChangedHandler instance are invoked whenever the event is raised, until the DeviceChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/DeviceKey.xml b/doc/en/Gdk/DeviceKey.xml
deleted file mode 100644
index d380766..0000000
--- a/doc/en/Gdk/DeviceKey.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<Type Name="DeviceKey" FullName="Gdk.DeviceKey">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct DeviceKey" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Contains information about the mapping of one device macro button onto a normal X key event.</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.DeviceKey Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.DeviceKey</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.DeviceKey New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.DeviceKey</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.DeviceKey'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Keyval">
-      <MemberSignature Language="C#" Value="public uint Keyval;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Keyval to generate when the macro button is pressed. If this is 0, no keypress will be generated.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Modifiers">
-      <MemberSignature Language="C#" Value="public Gdk.ModifierType Modifiers;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ModifierType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The modifiers set for the generated key event.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/DeviceManager.xml b/doc/en/Gdk/DeviceManager.xml
index 1cff67e..25f35ce 100644
--- a/doc/en/Gdk/DeviceManager.xml
+++ b/doc/en/Gdk/DeviceManager.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -134,9 +134,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.DeviceManager" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -175,8 +175,8 @@
       </Parameters>
       <Docs>
         <param name="device">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.DeviceManager.DeviceAdded" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.DeviceManager.DeviceAdded" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -197,8 +197,8 @@
       </Parameters>
       <Docs>
         <param name="device">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.DeviceManager.DeviceChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.DeviceManager.DeviceChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -219,8 +219,8 @@
       </Parameters>
       <Docs>
         <param name="device">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.DeviceManager.DeviceRemoved" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.DeviceManager.DeviceRemoved" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/DeviceRemovedArgs.xml b/doc/en/Gdk/DeviceRemovedArgs.xml
index 55bcc7f..1442d87 100644
--- a/doc/en/Gdk/DeviceRemovedArgs.xml
+++ b/doc/en/Gdk/DeviceRemovedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.DeviceManager.DeviceRemoved" /> event invokes <see cref="T:Gdk.DeviceRemovedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.DeviceRemovedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.DeviceRemovedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/DeviceRemovedHandler.xml b/doc/en/Gdk/DeviceRemovedHandler.xml
index f4266c0..260e5a5 100644
--- a/doc/en/Gdk/DeviceRemovedHandler.xml
+++ b/doc/en/Gdk/DeviceRemovedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.DeviceManager.DeviceRemoved" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.DeviceRemovedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.DeviceRemovedHandler" /> to an event, add the DeviceRemovedHandler instance to the event.  The methods referenced by the DeviceRemovedHandler instance are invoked whenever the event is raised, until the DeviceRemovedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/Display.xml b/doc/en/Gdk/Display.xml
index 1180ca3..c76b514 100644
--- a/doc/en/Gdk/Display.xml
+++ b/doc/en/Gdk/Display.xml
@@ -57,24 +57,6 @@
         <remarks>This is not typically used by C# code.</remarks>
       </Docs>
     </Member>
-    <Member MemberName="AddClientMessageFilter">
-      <MemberSignature Language="C#" Value="public void AddClientMessageFilter (Gdk.Atom message_type, Gdk.FilterFunc func);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddClientMessageFilter(class Gdk.Atom message_type, class Gdk.FilterFunc func) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="message_type" Type="Gdk.Atom" />
-        <Parameter Name="func" Type="Gdk.FilterFunc" />
-      </Parameters>
-      <Docs>
-        <param name="message_type">a <see cref="T:Gdk.Atom" /> representing the type of ClientMessage events to receive.</param>
-        <param name="func">a <see cref="T:Gdk.FilterFunc" /> to call to process the event.</param>
-        <summary>Adds a filter to be called when X ClientMessage events are received.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
     <Member MemberName="AppLaunchContext">
       <MemberSignature Language="C#" Value="public Gdk.AppLaunchContext AppLaunchContext { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance class Gdk.AppLaunchContext AppLaunchContext" />
@@ -1191,8 +1173,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.Display.Opened" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Display.Opened" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/DisplayOpenedHandler.xml b/doc/en/Gdk/DisplayOpenedHandler.xml
index 7c84c13..85b8337 100644
--- a/doc/en/Gdk/DisplayOpenedHandler.xml
+++ b/doc/en/Gdk/DisplayOpenedHandler.xml
@@ -17,8 +17,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Gdk.DisplayManager.DisplayOpened" /> event utilizes this delegate:</para>
diff --git a/doc/en/Gdk/DisplayPointerHooks.xml b/doc/en/Gdk/DisplayPointerHooks.xml
deleted file mode 100644
index 7f6756a..0000000
--- a/doc/en/Gdk/DisplayPointerHooks.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="DisplayPointerHooks" FullName="Gdk.DisplayPointerHooks">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct DisplayPointerHooks" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.DisplayPointerHooks Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.DisplayPointerHooks</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.DisplayPointerHooks New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.DisplayPointerHooks</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <returns>a <see cref="T:Gdk.DisplayPointerHooks" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Drawable.xml b/doc/en/Gdk/Drawable.xml
deleted file mode 100644
index a36579a..0000000
--- a/doc/en/Gdk/Drawable.xml
+++ /dev/null
@@ -1,1134 +0,0 @@
-<Type Name="Drawable" FullName="Gdk.Drawable">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Drawable : GLib.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Functions for drawing points, lines, arcs, and text.
-</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="DrawPoints">
-      <MemberSignature Language="C#" Value="public void DrawPoints (Gdk.GC gc, Gdk.Point[] points);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="points" Type="Gdk.Point[]" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a number of points using the given graphics context.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /></param>
-        <param name="points">An array of  <see cref="T:Gdk.Point" /> objects.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawLayoutWithColors">
-      <MemberSignature Language="C#" Value="public void DrawLayoutWithColors (Gdk.GC gc, int x, int y, Pango.Layout layout, Gdk.Color foreground, Gdk.Color background);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="layout" Type="Pango.Layout" />
-        <Parameter Name="foreground" Type="Gdk.Color" />
-        <Parameter Name="background" Type="Gdk.Color" />
-      </Parameters>
-      <Docs>
-        <summary>Render a <see cref="T:Pango.Layout" /> onto the Drawable
-	  object with the specified colors.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" />, the graphics context to use</param>
-        <param name="x">the X position of the left of the layout (in pixels)</param>
-        <param name="y"> the Y position of the top of the layout (in pixels)</param>
-        <param name="layout">the layout to render</param>
-        <param name="foreground">the foreground color</param>
-        <param name="background">the background color</param>
-        <remarks>Render a <see cref="T:Pango.LayoutLine" /> onto the Drawable
-	  object, overriding the layout's normal colors with 
-	  <paramref name="foreground" /> and/or <paramref name="background" />. 
-	  <paramref name="foreground" /> and <paramref name="background" /> 
-	  need not be allocated.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawLayoutLine">
-      <MemberSignature Language="C#" Value="public void DrawLayoutLine (Gdk.GC gc, int x, int y, Pango.LayoutLine line);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="line" Type="Pango.LayoutLine" />
-      </Parameters>
-      <Docs>
-        <summary>Render a <see cref="T:Pango.LayoutLine" /> onto the Drawable
-	  object.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" />, the graphics context to use</param>
-        <param name="x">A <see cref="T:System.Int32" />, the X position of the start of string (in pixels)</param>
-        <param name="y">A <see cref="T:System.Int32" />, the Y position of the baseline (in pixels)</param>
-        <param name="line">A <see cref="T:Pango.LayoutLine" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawLayoutLineWithColors">
-      <MemberSignature Language="C#" Value="public void DrawLayoutLineWithColors (Gdk.GC gc, int x, int y, Pango.LayoutLine line, Gdk.Color foreground, Gdk.Color background);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="line" Type="Pango.LayoutLine" />
-        <Parameter Name="foreground" Type="Gdk.Color" />
-        <Parameter Name="background" Type="Gdk.Color" />
-      </Parameters>
-      <Docs>
-        <param name="gc">A <see cref="T:Gdk.GC" />, the graphics context to use</param>
-        <param name="x">the X position of the start of string (in pixels)</param>
-        <param name="y">the Y position of the baseline (in pixels)</param>
-        <param name="line">To be added.</param>
-        <param name="foreground">the foreground color</param>
-        <param name="background">the background color</param>
-        <summary>Render a <see cref="T:Pango.LayoutLine" /> onto the Drawable
-	  object, overriding the layout's normal colors.</summary>
-        <remarks>Render a <see cref="T:Pango.LayoutLine" /> onto the Drawable
-	  object, overriding the layout's normal colors with 
-	  <paramref name="foreground" /> and/or <paramref name="background" />. 
-
-<para><paramref name="foreground" /> and <paramref name="background" /> 
-	  need not be allocated.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawLayout">
-      <MemberSignature Language="C#" Value="public void DrawLayout (Gdk.GC gc, int x, int y, Pango.Layout layout);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="layout" Type="Pango.Layout" />
-      </Parameters>
-      <Docs>
-        <summary>Render a <see cref="T:Pango.Layout" /> onto a <see cref="T:Gdk.Drawable" /></summary>
-        <param name="gc">The base <see cref="T:Gdk.GC" /> to use.</param>
-        <param name="x">the X position of the left of the layout (in pixels)</param>
-        <param name="y"> the Y position of the top of the layout (in pixels)</param>
-        <param name="layout">A <see cref="T:Pango.Layout" /></param>
-        <remarks>
-          <para>
-If the layout's PangoContext has a transformation matrix set, then x and y specify the position of the top left corner of the bounding box (in device space) of the transformed layout.
-</para>
-
-If you are using Gtk, the usual way to obtain a <see cref="T:Pango.Layout" /> is <see cref="M:Gtk.Widget.CreatePangoLayout()" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetSize">
-      <MemberSignature Language="C#" Value="public void GetSize (out int width, out int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="width" Type="System.Int32&" RefType="out" />
-        <Parameter Name="height" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <summary>Fills <paramref name="width" /> and <paramref name="height" /> 
-	  with the size of the Drawable. <paramref name="width" /> or 
-	  <paramref name="height" /> can be <see langword="null" /> if you 
-	  only want the other one.
-	</summary>
-        <param name="width">A <see cref="T:System.Int32&" /></param>
-        <param name="height">A <see cref="T:System.Int32&" /></param>
-        <remarks>
-	  On the X11 platform, if this Drawable object is also a <see cref="T:Gdk.Window" />, the returned
-	  size is the size reported in the most-recently-processed configure
-	  event, rather than the current size on the X server.
-	</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawSegments">
-      <MemberSignature Language="C#" Value="public void DrawSegments (Gdk.GC gc, Gdk.Segment segs, int nsegs);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="segs" Type="Gdk.Segment" />
-        <Parameter Name="nsegs" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a number of unconnected lines.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /></param>
-        <param name="segs">A <see cref="T:Gdk.Segment" />, a list of segments to draw.</param>
-        <param name="nsegs">A <see cref="T:System.Int32" />, the number of segments.</param>
-        <remarks>TODO: Drawable.custom needs to be edited to make segs an array of Gdk.Segment objects.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawGlyphs">
-      <MemberSignature Language="C#" Value="public void DrawGlyphs (Gdk.GC gc, Pango.Font font, int x, int y, Pango.GlyphString glyphs);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="font" Type="Pango.Font" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="glyphs" Type="Pango.GlyphString" />
-      </Parameters>
-      <Docs>
-        <summary>Low-level glyph drawing function.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /></param>
-        <param name="font">A <see cref="T:Pango.Font" /></param>
-        <param name="x">A <see cref="T:System.Int32" /></param>
-        <param name="y">A <see cref="T:System.Int32" /></param>
-        <param name="glyphs">A <see cref="T:Pango.GlyphString" /></param>
-        <remarks>
-          <para>This is a low-level function; 99% of text rendering should be done
-	  using <see cref="M:Gdk.Drawable.DrawLayout" /> instead.</para>
-          <para>A glyph is a character in a font. This function draws a sequence of
-glyphs.  To obtain a sequence of glyphs you have to understand a
-lot about internationalized text handling, which you don't want to
-understand; thus, use <see cref="M:Gdk.Drawable.DrawLayout" /> instead of this function,
-<see cref="M:Gdk.Drawable.DrawLayout" /> handles the details.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetImage">
-      <MemberSignature Language="C#" Value="public Gdk.Image GetImage (int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Image</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Returns a client-side <see cref="T:Gdk.Image" /> representing the server-side <see cref="T:Gdk.Drawable" />.</summary>
-        <param name="x">A <see cref="T:System.Int32" />, X coordinate of the upper left corner of the region to get as a drawable</param>
-        <param name="y">A <see cref="T:System.Int32" />, Y coordinate of the upper left corner of the region to get as a drawable.</param>
-        <param name="width">A <see cref="T:System.Int32" />, width of the rectangle</param>
-        <param name="height">A <see cref="T:System.Int32" />, height of the rectangle.</param>
-        <returns>A <see cref="T:Gdk.Image" /> containing the contents of this Drawable object.</returns>
-        <remarks>
-          <para>
-	    A <see cref="T:Gdk.Image" /> stores client-side image data (pixels). In contrast,
-	    <see cref="T:Gdk.Pixmap" /> and <see cref="T:Gdk.Window" /> are server-side
-	    objects. This method obtains the pixels from a
-	    server-side drawable as a client-side <see cref="T:Gdk.Image" />.  
-</para>
-          <para>
-	    The format of a <see cref="T:Gdk.Image" /> depends on 
-	    the <see cref="T:Gdk.Visual" /> of the current display, which
-	    makes manipulating <see cref="T:Gdk.Image" /> extremely difficult; 
-	    therefore, in
-	    most cases you should use <see cref="M:Gdk.Pixbuf.GetFromDrawable" />
-	    instead of 
-	    this lower-level function. A <see cref="T:Gdk.Pixbuf" /> contains 
-	    image data in a canonicalized RGB format, rather than a 
-	    display-dependent format. Of course, there's a convenience vs. 
-	    speed tradeoff here, so you'll want to think about what makes 
-	    sense for your application.
-	</para>
-          <para>
-            <paramref name="x" />, <paramref name="y" />, 
-	    <paramref name="width" />, and <paramref name="height" /> define 
-	    the region of the drawable to obtain as an image.
-	  </para>
-          <para>
-	    You would usually copy image data to the client side if you intend
-	    to examine the values of individual pixels, for example to darken
-	    an image or add a red tint. It would be prohibitively slow to
-	    make a round-trip request to the windowing system for each pixel,
-	    so instead you get all of them at once, modify them, then copy
-	    them all back at once.
-</para>
-          <para>
-	    If the X server or other windowing system backend is on the local
-	    machine, this function may use shared memory to avoid copying
-	    the image data.
-	  </para>
-          <para>	    If the source drawable is a #GdkWindow and partially offscreen
-	    or obscured, then the obscured portions of the returned image
-	    will contain undefined data.
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawDrawable">
-      <MemberSignature Language="C#" Value="public void DrawDrawable (Gdk.GC gc, Gdk.Drawable src, int xsrc, int ysrc, int xdest, int ydest, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="src" Type="Gdk.Drawable" />
-        <Parameter Name="xsrc" Type="System.Int32" />
-        <Parameter Name="ysrc" Type="System.Int32" />
-        <Parameter Name="xdest" Type="System.Int32" />
-        <Parameter Name="ydest" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a portion of a drawable into another.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /></param>
-        <param name="src">A <see cref="T:Gdk.Drawable" />, the source Drawable. </param>
-        <param name="xsrc">A <see cref="T:System.Int32" /></param>
-        <param name="ysrc">A <see cref="T:System.Int32" /></param>
-        <param name="xdest">A <see cref="T:System.Int32" /></param>
-        <param name="ydest">A <see cref="T:System.Int32" /></param>
-        <param name="width">A <see cref="T:System.Int32" /></param>
-        <param name="height">A <see cref="T:System.Int32" /></param>
-        <remarks>
-          <para>
-	    Copies the <paramref name="width" /> x <paramref name="height" /> region of <paramref name="src" /> at coordinates (<paramref name="xsrc" />,
-	    <paramref name="ysrc" />) to coordinates (<paramref name="xdest" />, <paramref name="ydest" />) in <paramref name="drawable" />.
-	    <paramref name="width" /> and/or <paramref name="height" /> may be given as -1, in which case the entire
-	    <paramref name="src" /> drawable will be copied.
-	    Most fields in <paramref name="gc" /> are not used for this operation, but notably the
-	clip mask or clip region will be honored.
-	
-
-</para>
-
-	  The source and destination drawables must have the same visual and
-	  colormap, or errors will result. (On X11, failure to match
-	  visual/colormap results in a BadMatch error from the X server.)
-	  A common cause of this problem is an attempt to draw a bitmap to
-	  a color drawable. The way to draw a bitmap is to set the
-	  bitmap as a clip mask on your #GdkGC, then use <see cref="M:Gdk.Drawable.DrawRectangle" />
-	  to draw a rectangle clipped to the bitmap.
-</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawImage">
-      <MemberSignature Language="C#" Value="public void DrawImage (Gdk.GC gc, Gdk.Image image, int xsrc, int ysrc, int xdest, int ydest, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="image" Type="Gdk.Image" />
-        <Parameter Name="xsrc" Type="System.Int32" />
-        <Parameter Name="ysrc" Type="System.Int32" />
-        <Parameter Name="xdest" Type="System.Int32" />
-        <Parameter Name="ydest" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a <see cref="T:Gdk.Image" /> onto a drawable.</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /></param>
-        <param name="image">A <see cref="T:Gdk.Image" /></param>
-        <param name="xsrc">A <see cref="T:System.Int32" /></param>
-        <param name="ysrc">A <see cref="T:System.Int32" /></param>
-        <param name="xdest">A <see cref="T:System.Int32" /></param>
-        <param name="ydest">A <see cref="T:System.Int32" /></param>
-        <param name="width">A <see cref="T:System.Int32" /></param>
-        <param name="height">A <see cref="T:System.Int32" /></param>
-        <remarks>The depth of the <see cref="T:Gdk.Image" /> must match the depth of the <see cref="T:Gdk.Drawable" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawPoint">
-      <MemberSignature Language="C#" Value="public void DrawPoint (Gdk.GC gc, int x, int y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a point at (<paramref name="x" />,<paramref name="y" />).</summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /></param>
-        <param name="x">A <see cref="T:System.Int32" /></param>
-        <param name="y">A <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Drawable (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Colormap">
-      <MemberSignature Language="C#" Value="public Gdk.Colormap Colormap { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Colormap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The color map for this Drawable. </summary>
-        <value>The current <see cref="T:Gdk.Colormap" /> on the Drawable.</value>
-        <remarks>You only need to set the color map if the drawable-creating function did not have a way to determine the colormap, and you then use drawable operations that require a colormap. The colormap for all drawables and graphics contexts you intend to use together should match. i.e. when using a #GdkGC to draw to a drawable, or copying one drawable to another, the colormaps should match.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="VisibleRegion">
-      <MemberSignature Language="C#" Value="public Gdk.Region VisibleRegion { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Region</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Computes the region of a drawable that is potentially visible.</summary>
-        <value>A <see cref="T:Gdk.Region" /></value>
-        <remarks>This does not necessarily take into account if the window is obscured by other windows, but no area outside of this region is visible.
-
-<para>
-You must call <see cref="M:Gdk.Region.Destroy()" /> when done.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipRegion">
-      <MemberSignature Language="C#" Value="public Gdk.Region ClipRegion { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Region</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Computes the region of a drawable that potentially can be written to by drawing primitives.</summary>
-        <value>A <see cref="T:Gdk.Region" />.  You must call <see cref="M:Gdk.Region.Destroy()" /> when done.</value>
-        <remarks>Computes the region of a drawable that potentially can be written to by drawing primitives. This region will not take into account the clip region for the GC, and may also not take into account other factors such as if the window is obscured by other windows, but no area outside of this region will be affected by drawing primitives.
-
-<para>
-You must call the Destroy method on the returned region when done.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Visual">
-      <MemberSignature Language="C#" Value="public Gdk.Visual Visual { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Visual</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the <see cref="T:Gdk.Visual" /> describing the pixel format of drawable.</summary>
-        <value>A <see cref="T:Gdk.Visual" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Depth">
-      <MemberSignature Language="C#" Value="public int Depth { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Obtains the bit depth of the drawable.</summary>
-        <value>The bit depth.</value>
-        <remarks>Obtains the bit depth of the drawable, that is, the number of bits that make up a pixel in the drawable's visual. Examples are 8 bits per pixel, 24 bits per pixel, etc.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Screen">
-      <MemberSignature Language="C#" Value="public Gdk.Screen Screen { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Screen</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the <see cref="T:Gdk.Screen" /> associated with a <see cref="T:Gdk.Drawable." /></summary>
-        <value>a <see cref="T:Gdk.Screen" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Display">
-      <MemberSignature Language="C#" Value="public Gdk.Display Display { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Display</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Gets the <see cref="T:Gdk.Display" /> associated with the <see cref="T:Gdk.Drawable" />.</summary>
-        <value>The <see cref="T:Gdk.Display" />.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawLines">
-      <MemberSignature Language="C#" Value="public void DrawLines (Gdk.GC gc, Gdk.Point[] points);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="points" Type="Gdk.Point[]" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a series of lines connecting the given points.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="points">a <see cref="T:Gdk.Point[]" /></param>
-        <remarks>The way in which joins between lines are draw is determined by the <see cref="E:Gdk.CapStyle" /> value in the <see cref="T:Gdk.GC" />. This can be set with <see cref="M:Gdk.GC.LineAttributes" /> property.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawPolygon">
-      <MemberSignature Language="C#" Value="public void DrawPolygon (Gdk.GC gc, int filled, Gdk.Point[] points);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="filled" Type="System.Int32" />
-        <Parameter Name="points" Type="Gdk.Point[]" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a Polygon connecting a set of points.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="filled">a <see cref="T:System.Int32" /></param>
-        <param name="points">a <see cref="T:Gdk.Point[]" /></param>
-        <remarks>This method is obsolete.  Use the overload which takes a <see cref="T:System.Boolean" /> for <paramref name="filled" /></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawRectangle">
-      <MemberSignature Language="C#" Value="public void DrawRectangle (Gdk.GC gc, bool filled, Gdk.Rectangle area);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="filled" Type="System.Boolean" />
-        <Parameter Name="area" Type="Gdk.Rectangle" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a rectangular outline or filled rectangle, using the foreground color and other attributes of the <see cref="T:Gdk.GC" />.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="filled">a <see cref="T:System.Boolean" /></param>
-        <param name="area">a <see cref="T:Gdk.Rectangle" /></param>
-        <remarks>A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle outlined. Calling Gdk.DrawRectangle (window, gc, TRUE, 0, 0, 20, 20) results in a filled rectangle 20 pixels wide and 20 pixels high. Calling Gdk.DrawRectangle (window, gc, FALSE, 0, 0, 20, 20) results in an outlined rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which makes it 21 pixels wide and 21 pixels high.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawLine">
-      <MemberSignature Language="C#" Value="public void DrawLine (Gdk.GC gc, int x1_, int y1_, int x2_, int y2_);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x1_" Type="System.Int32" />
-        <Parameter Name="y1_" Type="System.Int32" />
-        <Parameter Name="x2_" Type="System.Int32" />
-        <Parameter Name="y2_" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a line, using the foreground color and other attributes of the <see cref="T:Gdk.GC" /></summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x1_">a <see cref="T:System.Int32" /></param>
-        <param name="y1_">a <see cref="T:System.Int32" /></param>
-        <param name="x2_">a <see cref="T:System.Int32" /></param>
-        <param name="y2_">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawArc">
-      <MemberSignature Language="C#" Value="public void DrawArc (Gdk.GC gc, bool filled, int x, int y, int width, int height, int angle1, int angle2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="filled" Type="System.Boolean" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="angle1" Type="System.Int32" />
-        <Parameter Name="angle2" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws an arc or a filled 'pie slice'. The arc is defined by the bounding rectangle of the entire ellipse, and the start and end angles of the part of the ellipse to be drawn.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="filled">
-          <i>true</i> if the arc should be filled, producing a 'pie slice'.</param>
-        <param name="x">The x-coordinate of the upper left hand of the bounding box of the arc.
-</param>
-        <param name="y">The y-coordinate of the upper left hand of the bounding box of the arc.
-</param>
-        <param name="width"> the width of the bounding rectangle.</param>
-        <param name="height">the height of the bounding rectangle.</param>
-        <param name="angle1">The starting angle of the arc in the clockwise direction in reference to the 3'oclock position in terms of 1/64th of a degree.
-</param>
-        <param name="angle2">The number of 1/64ths of a degree to sweep the arc in a clockwise direction relative to the starting angle.
-</param>
-        <remarks>
-          <example>
-	Draw the left side of a circle with a radius of 5 units.
-  <code lang="C#">
-	Gdk.Pixmap.DrawArc(gc, false, 0, 0, 10, 10, 90 * 64, 180 * 64);
-  </code></example>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawPixbuf">
-      <MemberSignature Language="C#" Value="public void DrawPixbuf (Gdk.GC gc, Gdk.Pixbuf pixbuf, int src_x, int src_y, int dest_x, int dest_y, int width, int height, Gdk.RgbDither dither, int x_dither, int y_dither);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="pixbuf" Type="Gdk.Pixbuf" />
-        <Parameter Name="src_x" Type="System.Int32" />
-        <Parameter Name="src_y" Type="System.Int32" />
-        <Parameter Name="dest_x" Type="System.Int32" />
-        <Parameter Name="dest_y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dither" Type="Gdk.RgbDither" />
-        <Parameter Name="x_dither" Type="System.Int32" />
-        <Parameter Name="y_dither" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Renders a rectangular portion of a <see cref="T:Gdk.Pixbuf" /> to a <see cref="T:Gdk.Drawable" /></summary>
-        <param name="gc">A <see cref="T:Gdk.GC" /> used for clipping.</param>
-        <param name="pixbuf">The <see cref="T:Gdk.Pixbuf" /> to render</param>
-        <param name="src_x">Source X coordinate within pixbuf.</param>
-        <param name="src_y">Source Y coordinates within pixbuf.</param>
-        <param name="dest_x">Destination X coordinate within drawable.</param>
-        <param name="dest_y">Destination Y coordinate within drawable.</param>
-        <param name="width">Width of region to render, in pixels, or -1 to use pixbuf width. </param>
-        <param name="height"> Height of region to render, in pixels, or -1 to use pixbuf height.</param>
-        <param name="dither">Dithering mode for GdkRGB.</param>
-        <param name="x_dither">X offset for dither.</param>
-        <param name="y_dither">Y  offset for dither.</param>
-        <remarks>The destination drawable must have a colormap. All windows have a colormap, however, pixmaps only have colormap by default if they were created with a non-NULL window argument. Otherwise a colormap must be set on them on the <see cref="P:Gdk.Drawable.Colormap" /> property.
-<para>
-On older X servers, rendering pixbufs with an alpha channel involves round trips to the X server, and may be somewhat slow.
-</para><para>
-The clip mask of gc is ignored, but clip rectangles and clip regions work fine.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawRectangle">
-      <MemberSignature Language="C#" Value="public void DrawRectangle (Gdk.GC gc, bool filled, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="filled" Type="System.Boolean" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a rectangular outline or filled rectangle, using the foreground color and other attributes of the <see cref="T:Gdk.GC" />.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="filled">a <see cref="T:System.Boolean" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>A rectangle drawn filled is 1 pixel smaller in both dimensions than a rectangle outlined. Calling Gdk.DrawRectangle (window, gc, TRUE, 0, 0, 20, 20) results in a filled rectangle 20 pixels wide and 20 pixels high. Calling Gdk.DrawRectangle (window, gc, FALSE, 0, 0, 20, 20) results in an outlined rectangle with corners at (0, 0), (0, 20), (20, 20), and (20, 0), which makes it 21 pixels wide and 21 pixels high.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Drawable" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Drawable (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.Drawable" /> that would have their own GLib.GType assigned to it.  This is not typically used by C# code.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Drawable ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>This is a constructor used by derivative types of Drawable. This is not typically used by C# code.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawRgbImage">
-      <MemberSignature Language="C#" Value="public void DrawRgbImage (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte[] rgb_buf, int rowstride);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dith" Type="Gdk.RgbDither" />
-        <Parameter Name="rgb_buf" Type="System.Byte[]" />
-        <Parameter Name="rowstride" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="dith">a <see cref="T:System.Int32" /></param>
-        <param name="rgb_buf">a <see cref="T:System.Byte" /></param>
-        <param name="rowstride">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawRgb32ImageDithalign">
-      <MemberSignature Language="C#" Value="public void DrawRgb32ImageDithalign (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte[] buf, int rowstride, int xdith, int ydith);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dith" Type="Gdk.RgbDither" />
-        <Parameter Name="buf" Type="System.Byte[]" />
-        <Parameter Name="rowstride" Type="System.Int32" />
-        <Parameter Name="xdith" Type="System.Int32" />
-        <Parameter Name="ydith" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="dith">a <see cref="T:System.Int32" /></param>
-        <param name="buf">a <see cref="T:System.Byte" /></param>
-        <param name="rowstride">a <see cref="T:System.Int32" /></param>
-        <param name="xdith">a <see cref="T:System.Int32" /></param>
-        <param name="ydith">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawIndexedImage">
-      <MemberSignature Language="C#" Value="public void DrawIndexedImage (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte[] buf, int rowstride, Gdk.RgbCmap cmap);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dith" Type="Gdk.RgbDither" />
-        <Parameter Name="buf" Type="System.Byte[]" />
-        <Parameter Name="rowstride" Type="System.Int32" />
-        <Parameter Name="cmap" Type="Gdk.RgbCmap" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="dith">a <see cref="T:System.Int32" /></param>
-        <param name="buf">a <see cref="T:System.Byte" /></param>
-        <param name="rowstride">a <see cref="T:System.Int32" /></param>
-        <param name="cmap">a <see cref="T:Gdk.RgbCmap" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawRgb32Image">
-      <MemberSignature Language="C#" Value="public void DrawRgb32Image (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte[] buf, int rowstride);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dith" Type="Gdk.RgbDither" />
-        <Parameter Name="buf" Type="System.Byte[]" />
-        <Parameter Name="rowstride" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="dith">a <see cref="T:System.Int32" /></param>
-        <param name="buf">a <see cref="T:System.Byte" /></param>
-        <param name="rowstride">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawGrayImage">
-      <MemberSignature Language="C#" Value="public void DrawGrayImage (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte[] buf, int rowstride);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dith" Type="Gdk.RgbDither" />
-        <Parameter Name="buf" Type="System.Byte[]" />
-        <Parameter Name="rowstride" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="dith">a <see cref="T:System.Int32" /></param>
-        <param name="buf">a <see cref="T:System.Byte" /></param>
-        <param name="rowstride">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawRgbImageDithalign">
-      <MemberSignature Language="C#" Value="public void DrawRgbImageDithalign (Gdk.GC gc, int x, int y, int width, int height, Gdk.RgbDither dith, byte[] rgb_buf, int rowstride, int xdith, int ydith);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="dith" Type="Gdk.RgbDither" />
-        <Parameter Name="rgb_buf" Type="System.Byte[]" />
-        <Parameter Name="rowstride" Type="System.Int32" />
-        <Parameter Name="xdith" Type="System.Int32" />
-        <Parameter Name="ydith" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="dith">a <see cref="T:System.Int32" /></param>
-        <param name="rgb_buf">a <see cref="T:System.Byte" /></param>
-        <param name="rowstride">a <see cref="T:System.Int32" /></param>
-        <param name="xdith">a <see cref="T:System.Int32" /></param>
-        <param name="ydith">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawPolygon">
-      <MemberSignature Language="C#" Value="public void DrawPolygon (Gdk.GC gc, bool filled, Gdk.Point[] points);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="filled" Type="System.Boolean" />
-        <Parameter Name="points" Type="Gdk.Point[]" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a Polygon connecting a set of points.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="filled">a <see cref="T:System.Boolean" /></param>
-        <param name="points">a <see cref="T:Gdk.Point" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DrawText">
-      <MemberSignature Language="C#" Value="public void DrawText (Gdk.Font font, Gdk.GC gc, int x, int y, string text);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="text" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated: use <see cref="M:Gdk.Drawable.DrawLayout" /> instead.</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="text">a <see cref="T:System.String" /></param>
-        <remarks>Deprecated.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawTextWc">
-      <MemberSignature Language="C#" Value="public uint DrawTextWc (Gdk.Font font, Gdk.GC gc, int x, int y, int text_length);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="text_length" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated: draws a numbre of wide-char characters</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="text_length">a <see cref="T:System.Int32" /></param>
-        <returns>a <see cref="T:System.UInt32" /></returns>
-        <remarks>Use <see cref="M:Gdk.Drawable.DrawLayout" /> instead.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawString">
-      <MemberSignature Language="C#" Value="public void DrawString (Gdk.Font font, Gdk.GC gc, int x, int y, string str1ng);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font" Type="Gdk.Font" />
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="str1ng" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated: use <see cref="M:Gdk.Drawable.DrawLayout" /> instead.</summary>
-        <param name="font">a <see cref="T:Gdk.Font" /></param>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="str1ng">a <see cref="T:System.String" /></param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetData">
-      <MemberSignature Language="C#" Value="public IntPtr GetData (string key);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>This method is deprecated, do not use.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.IntPtr" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Ref">
-      <MemberSignature Language="C#" Value="public Gdk.Drawable Ref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Drawable</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.Drawable" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="CopyToImage">
-      <MemberSignature Language="C#" Value="public Gdk.Image CopyToImage (Gdk.Image image, int src_x, int src_y, int dest_x, int dest_y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Image</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="image" Type="Gdk.Image" />
-        <Parameter Name="src_x" Type="System.Int32" />
-        <Parameter Name="src_y" Type="System.Int32" />
-        <Parameter Name="dest_x" Type="System.Int32" />
-        <Parameter Name="dest_y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Copies a portion of drawable into the client side image structure image.</summary>
-        <param name="image">a <see cref="T:Gdk.Image" /></param>
-        <param name="src_x">a <see cref="T:System.Int32" /></param>
-        <param name="src_y">a <see cref="T:System.Int32" /></param>
-        <param name="dest_x">a <see cref="T:System.Int32" /></param>
-        <param name="dest_y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <returns>a <see cref="T:Gdk.Image" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Unref">
-      <MemberSignature Language="C#" Value="public void Unref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="SetData">
-      <MemberSignature Language="C#" Value="public void SetData (string key, IntPtr data, IntPtr destroy_func);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy_func" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>This method is deprecated and should not be used with new code.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <param name="destroy_func">a <see cref="T:System.IntPtr" /></param>
-        <remarks>This method is deprecated and should not be used in newly-written code.
-</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawGlyphsTransformed">
-      <MemberSignature Language="C#" Value="public void DrawGlyphsTransformed (Gdk.GC gc, Pango.Matrix matrix, Pango.Font font, int x, int y, Pango.GlyphString glyphs);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="matrix" Type="Pango.Matrix" />
-        <Parameter Name="font" Type="Pango.Font" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="glyphs" Type="Pango.GlyphString" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="matrix">a <see cref="T:Pango.Matrix" /></param>
-        <param name="font">a <see cref="T:Pango.Font" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="glyphs">a <see cref="T:Pango.GlyphString" /></param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.6" />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawTrapezoids">
-      <MemberSignature Language="C#" Value="public void DrawTrapezoids (Gdk.GC gc, Gdk.Trapezoid trapezoids, int n_trapezoids);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="trapezoids" Type="Gdk.Trapezoid" />
-        <Parameter Name="n_trapezoids" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="trapezoids">a <see cref="T:Gdk.Trapezoid" /></param>
-        <param name="n_trapezoids">a <see cref="T:System.Int32" /></param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.6" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/EdgeTable.xml b/doc/en/Gdk/EdgeTable.xml
deleted file mode 100644
index 7a949b2..0000000
--- a/doc/en/Gdk/EdgeTable.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<Type Name="EdgeTable" FullName="Gdk.EdgeTable">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct EdgeTable" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.EdgeTable Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.EdgeTable</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.EdgeTable New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.EdgeTable</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.EdgeTable'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Ymax">
-      <MemberSignature Language="C#" Value="public int Ymax;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Ymin">
-      <MemberSignature Language="C#" Value="public int Ymin;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="scanlines">
-      <MemberSignature Language="C#" Value="public Gdk.ScanLineList scanlines { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ScanLineList</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.ScanLineList" /></value>
-        <remarks>To be added</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Scanlines property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Scanlines">
-      <MemberSignature Language="C#" Value="public Gdk.ScanLineList Scanlines { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ScanLineList</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/EdgeTableEntry.xml b/doc/en/Gdk/EdgeTableEntry.xml
deleted file mode 100644
index 6cb7496..0000000
--- a/doc/en/Gdk/EdgeTableEntry.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<Type Name="EdgeTableEntry" FullName="Gdk.EdgeTableEntry">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class EdgeTableEntry : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public EdgeTableEntry (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/EventClient.xml b/doc/en/Gdk/EventClient.xml
deleted file mode 100644
index 8753353..0000000
--- a/doc/en/Gdk/EventClient.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<Type Name="EventClient" FullName="Gdk.EventClient">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class EventClient : Gdk.Event" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>An event sent by another client application.</summary>
-    <remarks>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gdk.Event</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="MessageType">
-      <MemberSignature Language="C#" Value="public Gdk.Atom MessageType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Atom</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>the type of the message, which can be defined by the application.</summary>
-        <value>the type of the message, which can be defined by the application.</value>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DataFormat">
-      <MemberSignature Language="C#" Value="public ushort DataFormat { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt16</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The format of the <see cref="P:Gdk.EventClient.Data" /></summary>
-        <value>the format of the data, given as the number of bits in each data element, i.e. 8, 16, or 32.</value>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Data">
-      <MemberSignature Language="C#" Value="public Array Data { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Array</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The data.</summary>
-        <value>If <see cref="P:Gdk.EventClient.DataFormat" /> is 8, then this array is 20 characters, if it returns 16, then the array is 10 shorts, and if it returns 32, the array is 5 longs.</value>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public EventClient (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor.</summary>
-        <param name="raw">raw unmanaged pointer.</param>
-        <remarks>This constructor is internal and should not be used.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Fill.xml b/doc/en/Gdk/Fill.xml
deleted file mode 100644
index 7e93fc2..0000000
--- a/doc/en/Gdk/Fill.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<Type Name="Fill" FullName="Gdk.Fill">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum Fill" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Determines how primitives are drawn.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.FillGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Solid">
-      <MemberSignature Language="C#" Value="Solid" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Fill</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draw with the foreground color.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tiled">
-      <MemberSignature Language="C#" Value="Tiled" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Fill</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draw with a tiled pixmap.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Stippled">
-      <MemberSignature Language="C#" Value="Stippled" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Fill</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draw using the stipple bitmap. Pixels corresponding to bits in the stipple bitmap that are set will be drawn in he foreground color; pixels corresponding to bits that are not set will be left untouched.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OpaqueStippled">
-      <MemberSignature Language="C#" Value="OpaqueStippled" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Fill</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draw using the stipple bitmap. Pixels corresponding to bits in the stipple bitmap that are set will be drawn in the foreground color; pixels corresponding to bits that are not set will be drawn with the background color.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/FillRule.xml b/doc/en/Gdk/FillRule.xml
deleted file mode 100644
index 36ec0f5..0000000
--- a/doc/en/Gdk/FillRule.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<Type Name="FillRule" FullName="Gdk.FillRule">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum FillRule" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>The method for determining which pixels are included in a region, when creating a <see cref="T:Gdk.Region" /> from a polygon.</summary>
-    <remarks>The fill rule is only relevant for polygons which overlap themselves.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.FillRuleGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="EvenOddRule">
-      <MemberSignature Language="C#" Value="EvenOddRule" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.FillRule</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Areas which are overlapped an odd number of times are included in the region, while areas overlapped an even number of times are not.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="WindingRule">
-      <MemberSignature Language="C#" Value="WindingRule" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.FillRule</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Overlapping areas are always included.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Font.xml b/doc/en/Gdk/Font.xml
deleted file mode 100644
index 79e852c..0000000
--- a/doc/en/Gdk/Font.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-<Type Name="Font" FullName="Gdk.Font">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct Font" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.Font Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public Gdk.FontType Type;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.FontType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Ascent">
-      <MemberSignature Language="C#" Value="public int Ascent;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Descent">
-      <MemberSignature Language="C#" Value="public int Descent;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Display">
-      <MemberSignature Language="C#" Value="public Gdk.Display Display { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Display</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Display" /></value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.Font New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="FromDescription">
-      <MemberSignature Language="C#" Value="public static Gdk.Font FromDescription (Pango.FontDescription font_desc);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font_desc" Type="Pango.FontDescription" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="font_desc">a <see cref="T:Pango.FontDescription" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Load">
-      <MemberSignature Language="C#" Value="public static Gdk.Font Load (string font_name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="font_name" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="font_name">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="LoadForDisplay">
-      <MemberSignature Language="C#" Value="public static Gdk.Font LoadForDisplay (Gdk.Display display, string font_name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="display" Type="Gdk.Display" />
-        <Parameter Name="font_name" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="display">a <see cref="T:Gdk.Display" /></param>
-        <param name="font_name">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="FromDescriptionForDisplay">
-      <MemberSignature Language="C#" Value="public static Gdk.Font FromDescriptionForDisplay (Gdk.Display display, Pango.FontDescription font_desc);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="display" Type="Gdk.Display" />
-        <Parameter Name="font_desc" Type="Pango.FontDescription" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="display">a <see cref="T:Gdk.Display" /></param>
-        <param name="font_desc">a <see cref="T:Pango.FontDescription" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Ref">
-      <MemberSignature Language="C#" Value="public Gdk.Font Ref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (Gdk.Font fontb);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="fontb" Type="Gdk.Font" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="fontb">a <see cref="T:Gdk.Font" /></param>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Unref">
-      <MemberSignature Language="C#" Value="public void Unref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Id">
-      <MemberSignature Language="C#" Value="public int Id ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static GLib.Value op_Explicit (Gdk.Font boxed);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.Value</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="boxed" Type="Gdk.Font" />
-      </Parameters>
-      <Docs>
-        <param name="boxed">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Gdk.Font op_Explicit (GLib.Value val);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="val" Type="GLib.Value" />
-      </Parameters>
-      <Docs>
-        <param name="val">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-</Type>
diff --git a/doc/en/Gdk/FontType.xml b/doc/en/Gdk/FontType.xml
deleted file mode 100644
index d962d61..0000000
--- a/doc/en/Gdk/FontType.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<Type Name="FontType" FullName="Gdk.FontType">
-  <TypeSignature Language="C#" Value="public enum FontType" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.FontTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Font">
-      <MemberSignature Language="C#" Value="Font" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.FontType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Font</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Fontset">
-      <MemberSignature Language="C#" Value="Fontset" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.FontType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Fontset</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Fontset.xml b/doc/en/Gdk/Fontset.xml
deleted file mode 100644
index 1d23943..0000000
--- a/doc/en/Gdk/Fontset.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<Type Name="Fontset" FullName="Gdk.Fontset">
-  <TypeSignature Language="C#" Value="public class Fontset" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Load">
-      <MemberSignature Language="C#" Value="public static Gdk.Font Load (string fontset_name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="fontset_name" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="fontset_name">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LoadForDisplay">
-      <MemberSignature Language="C#" Value="public static Gdk.Font LoadForDisplay (Gdk.Display display, string fontset_name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="display" Type="Gdk.Display" />
-        <Parameter Name="fontset_name" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="display">a <see cref="T:Gdk.Display" /></param>
-        <param name="fontset_name">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Font" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Fontset ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/FromEmbedderArgs.xml b/doc/en/Gdk/FromEmbedderArgs.xml
index 94b4328..9a1fd3d 100644
--- a/doc/en/Gdk/FromEmbedderArgs.xml
+++ b/doc/en/Gdk/FromEmbedderArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.FromEmbedder" /> event invokes <see cref="T:Gdk.FromEmbedderHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.FromEmbedderArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.FromEmbedderHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/FromEmbedderHandler.xml b/doc/en/Gdk/FromEmbedderHandler.xml
index adfacf1..e14b824 100644
--- a/doc/en/Gdk/FromEmbedderHandler.xml
+++ b/doc/en/Gdk/FromEmbedderHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.FromEmbedder" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.FromEmbedderArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.FromEmbedderHandler" /> to an event, add the FromEmbedderHandler instance to the event.  The methods referenced by the FromEmbedderHandler instance are invoked whenever the event is raised, until the FromEmbedderHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/Function.xml b/doc/en/Gdk/Function.xml
deleted file mode 100644
index 351a0cf..0000000
--- a/doc/en/Gdk/Function.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<Type Name="Function" FullName="Gdk.Function">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum Function" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Determines how bit values for the source pixels are combine with the bit values for destination pixels to produce the final result.</summary>
-    <remarks>The sixteen values here correspond to the 16 different possible 2x2 truth tables. Only a couple of these values are usually useful; for colored images, only Copy, Xor and Invert are generally useful. For bitmaps, And and Or are also useful.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.FunctionGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="Copy" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Copy</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Invert">
-      <MemberSignature Language="C#" Value="Invert" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Invert</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Xor">
-      <MemberSignature Language="C#" Value="Xor" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Xor</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Clear">
-      <MemberSignature Language="C#" Value="Clear" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Clear</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="And">
-      <MemberSignature Language="C#" Value="And" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>And</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AndReverse">
-      <MemberSignature Language="C#" Value="AndReverse" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>And Reverse</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AndInvert">
-      <MemberSignature Language="C#" Value="AndInvert" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>And Invert</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Noop">
-      <MemberSignature Language="C#" Value="Noop" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>No op</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Or">
-      <MemberSignature Language="C#" Value="Or" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Or</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Equiv">
-      <MemberSignature Language="C#" Value="Equiv" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Equiv</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OrReverse">
-      <MemberSignature Language="C#" Value="OrReverse" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Or Reverse</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CopyInvert">
-      <MemberSignature Language="C#" Value="CopyInvert" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Copy Invert</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OrInvert">
-      <MemberSignature Language="C#" Value="OrInvert" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Or Invert</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Nand">
-      <MemberSignature Language="C#" Value="Nand" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>N And</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Nor">
-      <MemberSignature Language="C#" Value="Nor" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Nor</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Set">
-      <MemberSignature Language="C#" Value="Set" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Set</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/GC.xml b/doc/en/Gdk/GC.xml
deleted file mode 100644
index 3cc540a..0000000
--- a/doc/en/Gdk/GC.xml
+++ /dev/null
@@ -1,674 +0,0 @@
-<Type Name="GC" FullName="Gdk.GC">
-  <TypeSignature Language="C#" Maintainer="miguel" Value="public class GC : GLib.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Represents a graphics context</summary>
-    <remarks>
-      <para>
-	  The Gdk.GC class is used to represent a graphics context.
-      </para>
-      <para>
-	A number of resources are used when performing graphics
-	operations. Most information about performing graphics (for
-	example, foreground color, background color, line style, and
-	so on) is stored in resources called graphics contexts
-	(GCs). Most graphics operations take a GC as an
-	argument.
-      </para>
-      <para>
-	Graphics operations can be performed to either windows (<see cref="T:Gdk.Window" />) or pixmaps (<see cref="T:Gdk.Pixmap" />), which collectively are called
-	drawables (<see cref="T:Gdk.Drawable" />).  Each drawable exists
-	on a single screen.  A GC is created for a specific screen and
-	drawable depth and can only be used with drawables of matching
-	screen and depth.
-      </para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="public void Copy (Gdk.GC src_gc);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="src_gc" Type="Gdk.GC" />
-      </Parameters>
-      <Docs>
-        <summary>Copy the set of values from one graphics context onto another graphics context.</summary>
-        <param name="src_gc">The GC to copy.</param>
-        <remarks>
-          <para>
-	    Copies the settings of the <paramref name="src_gc" /> graphics
-	    context into this GC.
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetTsOrigin">
-      <MemberSignature Language="C#" Value="public void SetTsOrigin (int x, int y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Set the origin when using tiles or stipples with the GC.</summary>
-        <param name="x">the x-coordinate of the origin.</param>
-        <param name="y">the y-coordinate of the origin.</param>
-        <remarks>
-          <para>
-	    Set the origin when using tiles or stipples with the
-	    GC. The tile or stipple will be aligned such that the upper
-	    left corner of the tile or stipple will coincide with this
-	    point.
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetClipOrigin">
-      <MemberSignature Language="C#" Value="public void SetClipOrigin (int x, int y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Sets the origin of the clip mask.</summary>
-        <param name="x">the x-coordinate of the origin.</param>
-        <param name="y">the y-coordinate of the origin.</param>
-        <remarks>
-          <para>Sets the origin of the clip mask. The coordinates are
-          interpreted relative to the upper-left corner of the
-          destination drawable of the current operation.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Offset">
-      <MemberSignature Language="C#" Value="public void Offset (int x_offset, int y_offset);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x_offset" Type="System.Int32" />
-        <Parameter Name="y_offset" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Set the x and y offsets on the Gdk.GC</summary>
-        <param name="x_offset">amount by which to offset the GC in the X direction</param>
-        <param name="y_offset">amount by which to offset the GC in the Y direction</param>
-        <remarks>
-          <para>Offset attributes such as the clip and tile-stipple
-          origins of the GC so that drawing at x - x_offset, y -
-          y_offset with the offset GC has the same effect as drawing
-          at x, y with the original GC.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetValues">
-      <MemberSignature Language="C#" Value="public void SetValues (Gdk.GCValues values, Gdk.GCValuesMask values_mask);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="values" Type="Gdk.GCValues" />
-        <Parameter Name="values_mask" Type="Gdk.GCValuesMask" />
-      </Parameters>
-      <Docs>
-        <summary>Sets attributes of a graphics context in bulk.</summary>
-        <param name="values">struct containing the new values</param>
-        <param name="values_mask">mask indicating which struct fields are to be used</param>
-        <remarks>
-          <para>Sets attributes of a graphics context in bulk. For
-          each flag set in values_mask, the corresponding field will
-          be read from values and set as the new value for gc. If
-          you're only setting a few values on gc, calling individual
-          "setter" functions is likely more convenient.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetLineAttributes">
-      <MemberSignature Language="C#" Value="public void SetLineAttributes (int line_width, Gdk.LineStyle line_style, Gdk.CapStyle cap_style, Gdk.JoinStyle join_style);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="line_width" Type="System.Int32" />
-        <Parameter Name="line_style" Type="Gdk.LineStyle" />
-        <Parameter Name="cap_style" Type="Gdk.CapStyle" />
-        <Parameter Name="join_style" Type="Gdk.JoinStyle" />
-      </Parameters>
-      <Docs>
-        <summary>Sets various attributes of how lines are drawn.</summary>
-        <param name="line_width">the width of lines.</param>
-        <param name="line_style">the dash-style for lines.</param>
-        <param name="cap_style">the manner in which the ends of lines are drawn.</param>
-        <param name="join_style">the way in which lines are joined together.</param>
-        <remarks>
-          <para>Sets various attributes of how lines are drawn. See
-          the corresponding members of Gdk.GC.Values for full
-          explanations of the arguments.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetValues">
-      <MemberSignature Language="C#" Value="public void GetValues (Gdk.GCValues values);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="values" Type="Gdk.GCValues" />
-      </Parameters>
-      <Docs>
-        <summary>Retrieves the current values from a graphics context.</summary>
-        <param name="values">the <see cref="T:Gdk.GCValues" /> structure in which to store the results.</param>
-        <remarks>
-          <para>Retrieves the current values from a graphics context.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public GC (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public GC (Gdk.Drawable drawable);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">To be added: an object of type 'Gdk.Drawable'</param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public GC (Gdk.Drawable drawable, Gdk.GCValues values, Gdk.GCValuesMask values_mask);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="values" Type="Gdk.GCValues" />
-        <Parameter Name="values_mask" Type="Gdk.GCValuesMask" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">To be added: an object of type 'Gdk.Drawable'</param>
-        <param name="values">To be added: an object of type 'Gdk.GCValues'</param>
-        <param name="values_mask">To be added: an object of type 'Gdk.GCValuesMask'</param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RgbFgColor">
-      <MemberSignature Language="C#" Value="public Gdk.Color RgbFgColor { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set the foreground color of a GC using an unallocated color.</summary>
-        <value>an object of type 'Gdk.Color'</value>
-        <remarks>
-          <para>Set the foreground color of a GC using an unallocated
-          color. The pixel value for the color will be determined
-          using GdkRGB. If the colormap for the GC has not previously
-          been initialized for GdkRGB, then for pseudo-color colormaps
-          (colormaps with a small modifiable number of colors), a
-          colorcube will be allocated in the colormap.</para>
-          <para>Calling this function for a GC without a colormap is
-          an error.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipRectangle">
-      <MemberSignature Language="C#" Value="public Gdk.Rectangle ClipRectangle { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Rectangle</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the clip mask for a graphics context from a rectangle.</summary>
-        <value>an object of type 'Gdk.Rectangle'</value>
-        <remarks>
-          <para>Sets the clip mask for a graphics context from a
-          rectangle. The clip mask is interpreted relative to the clip
-          origin. (See <see cref="M:Gdk.GC.SetClipOrigin()" />).</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tile">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap Tile { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set a tile pixmap for a graphics context.</summary>
-        <value>an object of type 'Gdk.Pixmap'</value>
-        <remarks>
-          <para>Set a tile pixmap for a graphics context. This will
-          only be used if the fill mode is GDK_TILED.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipMask">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap ClipMask { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the clip mask for a graphics context from a bitmap.</summary>
-        <value>a bitmap.</value>
-        <remarks>
-          <para>Sets the clip mask for a graphics context from a
-          bitmap. The clip mask is interpreted relative to the clip
-          origin. (See <see cref="M:Gdk.GC.SetClipOrigin()" />).</para>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Fill">
-      <MemberSignature Language="C#" Value="public Gdk.Fill Fill { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Fill</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set the fill mode for a graphics context.</summary>
-        <value>the new fill mode.</value>
-        <remarks>
-          <para>Set the fill mode for a graphics context.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Colormap">
-      <MemberSignature Language="C#" Value="public Gdk.Colormap Colormap { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Colormap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the colormap for the GC to the given colormap.</summary>
-        <value> a Gdk.Colormap</value>
-        <remarks>
-          <para>
-	    Fetches or changes the colormap of the GC.  The depth of
-	    the colormap's visual must match the depth of the drawable
-	    for which the GC was created.
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RgbBgColor">
-      <MemberSignature Language="C#" Value="public Gdk.Color RgbBgColor { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set the background color of a GC using an unallocated color.</summary>
-        <value>a Gdk.Color</value>
-        <remarks>
-          <para>Set the background color of a GC using an unallocated
-          color. The pixel value for the color will be determined
-          using GdkRGB. If the colormap for the GC has not previously
-          been initialized for GdkRGB, then for pseudo-color colormaps
-          (colormaps with a small modifiable number of colors), a
-          colorcube will be allocated in the colormap.</para>
-          <para>Calling this function for a GC without a colormap is
-          an error.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Foreground">
-      <MemberSignature Language="C#" Value="public Gdk.Color Foreground { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the foreground color for a graphics context.</summary>
-        <value>the new foreground color.</value>
-        <remarks>
-          <para>
-	    Sets the foreground color for a graphics context to the
-	    given color.  The color must have been allocated for this
-	    to work.
-	  </para>
-          <example>
-            <code lang="C#">
-	      Gdk.GC my_gc = new Gdk.GC (gdk_window);
-	      
-	      //
-	      // Create the color
-	      //
-	      Gdk.Color red_color = new Gdk.Color (0xff, 0, 0);
-
-	      //
-	      // Allocate it
-	      //
-	      Gdk.Colormap colormap = Gdk.Colormap.System;
-	      colormap.AllocColor (ref red_color, true, true);
-
-	      my_gc.Foreground = red_color;
-
-	      //
-	      // Draw diagonal, using the GC with the red color
-	      //
-	      gdk_window.DrawLine (my_gc, 0, 0, 100, 100);
-	    </code>
-          </example>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipRegion">
-      <MemberSignature Language="C#" Value="public Gdk.Region ClipRegion { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Region</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the clip mask for a graphics context from a region structure.</summary>
-        <value>the Gdk.Region</value>
-        <remarks>
-          <para>Sets the clip mask for a graphics context from a
-          region structure. The clip mask is interpreted relative to
-          the clip origin. (See <see cref="M:Gdk.GC.SetClipOrigin()" />).</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Subwindow">
-      <MemberSignature Language="C#" Value="public Gdk.SubwindowMode Subwindow { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.SubwindowMode</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets how drawing with this GC on a window will affect child windows of that window.</summary>
-        <value>the subwindow mode.</value>
-        <remarks>
-          <para>Sets how drawing with this GC on a window will affect
-          child windows of that window.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Stipple">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap Stipple { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set the stipple bitmap for a graphics context.</summary>
-        <value>the new stipple bitmap.</value>
-        <remarks>
-          <para>
-            Set the stipple bitmap for a graphics context. The
-            stipple will only be used if the fill mode is <see cref="E:Gdk.Fill.Stippled" />
-          or <see cref="Gdk.Fill.OpaqueStippled" />.
-        </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Function">
-      <MemberSignature Language="C#" Value="public Gdk.Function Function { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Determines how the current pixel values and the pixel values being drawn are combined to produce the final pixel values.</summary>
-        <value>a function.</value>
-        <remarks>
-          <para>Determines how the current pixel values and the pixel
-          values being drawn are combined to produce the final pixel
-          values.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Background">
-      <MemberSignature Language="C#" Value="public Gdk.Color Background { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the background color for a graphics context.</summary>
-        <value>the new background color.</value>
-        <remarks>
-          <para>
-	    Sets the background color for a graphics
-	    context.  The color must have been allocated.
-	  </para>
-          <example>
-            <code lang="C#">
-	      Gdk.GC my_gc = new Gdk.GC (gdk_window);
-	      
-	      //
-	      // Create the color
-	      //
-	      Gdk.Color back_color = new Gdk.Color (0xff, 0, 0);
-	      Gdk.Color fore_color = new Gdk.Color (0, 0, 0xff);
-
-	      //
-	      // Allocate them
-	      //
-	      Gdk.Colormap colormap = Gdk.Colormap.System;
-	      colormap.AllocColor (ref back_color, true, true);
-	      Gdk.Colormap colormap = Gdk.Colormap.System;
-	      colormap.AllocColor (ref fore_color, true, true);
-
-	      my_gc.Background = back_color;
-	      my_gc.Background = fore_color;
-
-	      //
-	      // Draw a thick line, alternating between foreground and
-	      // background colors
-	      //
-	      my_gc.SetLineAttributes (3, LineStyle.DoubleDash, CapStyle.NotLast, JoinStyle.Round);
-
-	      //
-	      // Draw diagonal, using the GC with the red color
-	      //
-	      gdk_window.DrawLine (my_gc, 0, 0, 100, 100);
-	    </code>
-          </example>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Exposures">
-      <MemberSignature Language="C#" Value="public bool Exposures { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets whether or not this GC should geenrate exposure events.</summary>
-        <value>To be added: an object of type 'bool'</value>
-        <remarks>
-          <para>Sets whether copying non-visible portions of a
-          drawable using this graphics context generate exposure
-          events for the corresponding regions of the destination
-          drawable. (See <see cref="T:Gdk.Drawable" />).</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Screen">
-      <MemberSignature Language="C#" Value="public Gdk.Screen Screen { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Screen</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Screen" /></value>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetDashes">
-      <MemberSignature Language="C#" Value="public void SetDashes (int dash_offset, sbyte[] dash_list, int n);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dash_offset" Type="System.Int32" />
-        <Parameter Name="dash_list" Type="System.SByte[]" />
-        <Parameter Name="n" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Sets the way dashed-lines are drawn.</summary>
-        <param name="dash_offset">the dash offset.</param>
-        <param name="dash_list">an array of dash lengths.</param>
-        <param name="n">the number of elemenst in dash_list.</param>
-        <remarks>
-          <para>Sets the way dashed-lines are drawn. Lines will be
-          drawn with alternating on and off segments of the lengths
-          specified in dash_list. The manner in which the on and off
-          segments are drawn is determined by the line_style value of
-          the GC. (This can be changed with
-          Gdk.GC.SetLineAttributes())</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.GC" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected GC (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.GC" /> that would have their own GLib.GType assigned to it.  This is not typically used by C# code.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Font">
-      <MemberSignature Language="C#" Value="public Gdk.Font Font { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Font" /></value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Ref">
-      <MemberSignature Language="C#" Value="public Gdk.GC Ref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GC</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.GC" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Unref">
-      <MemberSignature Language="C#" Value="public void Unref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/GCValues.xml b/doc/en/Gdk/GCValues.xml
deleted file mode 100644
index 64fd1c8..0000000
--- a/doc/en/Gdk/GCValues.xml
+++ /dev/null
@@ -1,337 +0,0 @@
-<Type Name="GCValues" FullName="Gdk.GCValues">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct GCValues" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Holds a set of values used to create or modify a graphics context.</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.GCValues Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValues</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.GCValues New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValues</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.GCValues'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="clip_mask">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap clip_mask { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The clip mask bitmap.</summary>
-        <value>To be added: an object of type 'Gdk.Pixmap'</value>
-        <remarks>To be added</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by ClipMask property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="stipple">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap stipple { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The stipple bitmap.</summary>
-        <value>To be added: an object of type 'Gdk.Pixmap'</value>
-        <remarks>To be added</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Stipple property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="tile">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap tile { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The tile pixmap.</summary>
-        <value>To be added: an object of type 'Gdk.Pixmap'</value>
-        <remarks>To be added</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Tile property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Foreground">
-      <MemberSignature Language="C#" Value="public Gdk.Color Foreground;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The foreground color.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Background">
-      <MemberSignature Language="C#" Value="public Gdk.Color Background;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The background color.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Function">
-      <MemberSignature Language="C#" Value="public Gdk.Function Function;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Function</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The bitwise operation used when drawing.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Fill">
-      <MemberSignature Language="C#" Value="public Gdk.Fill Fill;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Fill</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The fill style.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SubwindowMode">
-      <MemberSignature Language="C#" Value="public Gdk.SubwindowMode SubwindowMode;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.SubwindowMode</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TsXOrigin">
-      <MemberSignature Language="C#" Value="public int TsXOrigin;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The x origin of the tile or stipple.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TsYOrigin">
-      <MemberSignature Language="C#" Value="public int TsYOrigin;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The y origin of the tile or stipple.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipXOrigin">
-      <MemberSignature Language="C#" Value="public int ClipXOrigin;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The x origin of the clip mask.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipYOrigin">
-      <MemberSignature Language="C#" Value="public int ClipYOrigin;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The y origin of the clip mask.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GraphicsExposures">
-      <MemberSignature Language="C#" Value="public int GraphicsExposures;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether graphics exposures are enabled.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LineWidth">
-      <MemberSignature Language="C#" Value="public int LineWidth;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The line width.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LineStyle">
-      <MemberSignature Language="C#" Value="public Gdk.LineStyle LineStyle;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.LineStyle</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The way dashed lines are drawn.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CapStyle">
-      <MemberSignature Language="C#" Value="public Gdk.CapStyle CapStyle;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.CapStyle</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The way the ends of lines are drawn.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="JoinStyle">
-      <MemberSignature Language="C#" Value="public Gdk.JoinStyle JoinStyle;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.JoinStyle</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The way joins between lines are drawn.</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="font">
-      <MemberSignature Language="C#" Value="public Gdk.Font font { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Font</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Font" /></value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Tile">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap Tile { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Stipple">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap Stipple { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipMask">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap ClipMask { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/GCValuesMask.xml b/doc/en/Gdk/GCValuesMask.xml
deleted file mode 100644
index 6360c59..0000000
--- a/doc/en/Gdk/GCValuesMask.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-<Type Name="GCValuesMask" FullName="Gdk.GCValuesMask">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum GCValuesMask" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A set of flags used to indicate which fields <see cref="T:Gdk.GCValues" /> structure are set.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Flags</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Foreground">
-      <MemberSignature Language="C#" Value="Foreground" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.Foreground" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Background">
-      <MemberSignature Language="C#" Value="Background" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.Background" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Font">
-      <MemberSignature Language="C#" Value="Font" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="P:Gdk.GCValues.font" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Function">
-      <MemberSignature Language="C#" Value="Function" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.Function" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Fill">
-      <MemberSignature Language="C#" Value="Fill" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.Fill" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tile">
-      <MemberSignature Language="C#" Value="Tile" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="P:Gdk.GCValues.tile" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Stipple">
-      <MemberSignature Language="C#" Value="Stipple" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="P:Gdk.GCValues.Stipple" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipMask">
-      <MemberSignature Language="C#" Value="ClipMask" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="P:Gdk.GCValues.clip_mask" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Subwindow">
-      <MemberSignature Language="C#" Value="Subwindow" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.SubwindowMode" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TsXOrigin">
-      <MemberSignature Language="C#" Value="TsXOrigin" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.TsXOrigin" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TsYOrigin">
-      <MemberSignature Language="C#" Value="TsYOrigin" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.TsYOrigin" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipXOrigin">
-      <MemberSignature Language="C#" Value="ClipXOrigin" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.ClipXOrigin" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClipYOrigin">
-      <MemberSignature Language="C#" Value="ClipYOrigin" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.ClipYOrigin" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Exposures">
-      <MemberSignature Language="C#" Value="Exposures" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.GraphicsExposures" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LineWidth">
-      <MemberSignature Language="C#" Value="LineWidth" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.LineWidth" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LineStyle">
-      <MemberSignature Language="C#" Value="LineStyle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.LineStyle" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CapStyle">
-      <MemberSignature Language="C#" Value="CapStyle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.CapStyle" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="JoinStyle">
-      <MemberSignature Language="C#" Value="JoinStyle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GCValuesMask</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="F:Gdk.GCValues.JoinStyle" /> is set.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Global.xml b/doc/en/Gdk/Global.xml
index 279759b..b28f263 100644
--- a/doc/en/Gdk/Global.xml
+++ b/doc/en/Gdk/Global.xml
@@ -27,24 +27,6 @@
         <remarks />
       </Docs>
     </Member>
-    <Member MemberName="AddClientMessageFilter">
-      <MemberSignature Language="C#" Value="public static void AddClientMessageFilter (Gdk.Atom message_type, Gdk.FilterFunc func);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddClientMessageFilter(class Gdk.Atom message_type, class Gdk.FilterFunc func) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="message_type" Type="Gdk.Atom" />
-        <Parameter Name="func" Type="Gdk.FilterFunc" />
-      </Parameters>
-      <Docs>
-        <param name="message_type">a <see cref="T:Gdk.Atom" /></param>
-        <param name="func">a <see cref="T:Gdk.FilterFunc" /></param>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
     <Member MemberName="CurrentDesktop">
       <MemberSignature Language="C#" Value="public static int CurrentDesktop { get; }" />
       <MemberSignature Language="ILAsm" Value=".property int32 CurrentDesktop" />
@@ -86,20 +68,6 @@
         <remarks>To be added</remarks>
       </Docs>
     </Member>
-    <Member MemberName="DevicesList">
-      <MemberSignature Language="C#" Value="public static Gdk.Device[] DevicesList ();" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gdk.Device[] DevicesList() cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Device[]</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.Device[]" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
     <Member MemberName="DisableMultidevice">
       <MemberSignature Language="C#" Value="public static void DisableMultidevice ();" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig void DisableMultidevice() cil managed" />
@@ -334,34 +302,6 @@
         <remarks>To be added</remarks>
       </Docs>
     </Member>
-    <Member MemberName="TextPropertyToUtf8ListForDisplay">
-      <MemberSignature Language="C#" Value="public static int TextPropertyToUtf8ListForDisplay (Gdk.Display display, Gdk.Atom encoding, int format, out byte text, int length, string list);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 TextPropertyToUtf8ListForDisplay(class Gdk.Display display, class Gdk.Atom encoding, int32 format, unsigned int8 text, int32 length, string list) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="display" Type="Gdk.Display" />
-        <Parameter Name="encoding" Type="Gdk.Atom" />
-        <Parameter Name="format" Type="System.Int32" />
-        <Parameter Name="text" Type="System.Byte&" RefType="out" />
-        <Parameter Name="length" Type="System.Int32" />
-        <Parameter Name="list" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="display">To be added.</param>
-        <param name="encoding">To be added.</param>
-        <param name="format">To be added.</param>
-        <param name="text">To be added.</param>
-        <param name="length">To be added.</param>
-        <param name="list">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 3.0" />
-      </Docs>
-    </Member>
     <Member MemberName="UnicodeToKeyval">
       <MemberSignature Language="C#" Value="public static uint UnicodeToKeyval (uint wc);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig unsigned int32 UnicodeToKeyval(unsigned int32 wc) cil managed" />
diff --git a/doc/en/Gdk/Image.xml b/doc/en/Gdk/Image.xml
deleted file mode 100644
index 229d7c9..0000000
--- a/doc/en/Gdk/Image.xml
+++ /dev/null
@@ -1,324 +0,0 @@
-<Type Name="Image" FullName="Gdk.Image">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Image : GLib.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Contains information on the image and the pixel data.</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="PutPixel">
-      <MemberSignature Language="C#" Value="public void PutPixel (int x, int y, uint pixel);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="pixel" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="x">To be added: an object of type 'int'</param>
-        <param name="y">To be added: an object of type 'int'</param>
-        <param name="pixel">To be added: an object of type 'uint'</param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetPixel">
-      <MemberSignature Language="C#" Value="public uint GetPixel (int x, int y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="x">To be added: an object of type 'int'</param>
-        <param name="y">To be added: an object of type 'int'</param>
-        <returns>To be added: an object of type 'uint'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Image (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Image (Gdk.ImageType type, Gdk.Visual visual, int width, int height);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="type" Type="Gdk.ImageType" />
-        <Parameter Name="visual" Type="Gdk.Visual" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="type">To be added: an object of type 'Gdk.ImageType'</param>
-        <param name="visual">To be added: an object of type 'Gdk.Visual'</param>
-        <param name="width">To be added: an object of type 'int'</param>
-        <param name="height">To be added: an object of type 'int'</param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Colormap">
-      <MemberSignature Language="C#" Value="public Gdk.Colormap Colormap { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Colormap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <value>To be added: an object of type 'Gdk.Colormap'</value>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Image" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Image (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>This is a constructor used by derivative types of <see cref="T:Gdk.Image" /> that would have their own GLib.GType assigned to it.  This is not typically used by C# code.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Get">
-      <MemberSignature Language="C#" Value="public static Gdk.Image Get (Gdk.Drawable drawable, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Image</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <returns>a <see cref="T:Gdk.Image" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Unref">
-      <MemberSignature Language="C#" Value="public void Unref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Ref">
-      <MemberSignature Language="C#" Value="public Gdk.Image Ref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Image</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.Image" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Bpp">
-      <MemberSignature Language="C#" Value="public ushort Bpp { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt16</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The number of bytes per pixel.</summary>
-        <value>a <see cref="T:System.UInt16" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Bpl">
-      <MemberSignature Language="C#" Value="public ushort Bpl { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt16</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The number of bytes per line of the image.</summary>
-        <value>a <see cref="T:System.UInt16" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Depth">
-      <MemberSignature Language="C#" Value="public ushort Depth { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt16</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The image depth (ie, the number of bits per pixel).</summary>
-        <value>a <see cref="T:System.UInt16" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="ByteOrder">
-      <MemberSignature Language="C#" Value="public Gdk.ByteOrder ByteOrder { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ByteOrder</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The image byte order.</summary>
-        <value>a <see cref="T:Gdk.ByteOrder" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="BitsPerPixel">
-      <MemberSignature Language="C#" Value="public ushort BitsPerPixel { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt16</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The number of bits per pixel.</summary>
-        <value>a <see cref="T:System.UInt16" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Width">
-      <MemberSignature Language="C#" Value="public int Width { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The width of the image in pixels.</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Visual">
-      <MemberSignature Language="C#" Value="public Gdk.Visual Visual { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Visual</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The image's <see cref="T:Gdk.Visual" />.</summary>
-        <value>a <see cref="T:Gdk.Visual" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public Gdk.ImageType Type { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ImageType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The image's <see cref="T:Gdk.ImageType" /></summary>
-        <value>a <see cref="T:Gdk.ImageType" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Height">
-      <MemberSignature Language="C#" Value="public int Height { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The height of the image in pixels.</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/ImageType.xml b/doc/en/Gdk/ImageType.xml
deleted file mode 100644
index ab4eec7..0000000
--- a/doc/en/Gdk/ImageType.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<Type Name="ImageType" FullName="Gdk.ImageType">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum ImageType" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Specifies the type of a <see cref="T:Gdk.Image" />.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.ImageTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Normal">
-      <MemberSignature Language="C#" Value="Normal" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ImageType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The original X image type, which is quite slow since the image has to be transferred from the client to the server to display it.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Shared">
-      <MemberSignature Language="C#" Value="Shared" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ImageType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A faster image type, which uses shared memory to transfer the image data between the client and server. However this will only be available if the client and server are on the same machine and the shared memory extension is supported by the server.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Fastest">
-      <MemberSignature Language="C#" Value="Fastest" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.ImageType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Specifies that Shared should be tried first, and if that fails, then Normal will be used.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Input.xml b/doc/en/Gdk/Input.xml
deleted file mode 100644
index d262240..0000000
--- a/doc/en/Gdk/Input.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<Type Name="Input" FullName="Gdk.Input">
-  <TypeSignature Language="C#" Value="public class Input" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Remove">
-      <MemberSignature Language="C#" Value="public static void Remove (int tag);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="tag" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="tag">a <see cref="T:System.Int32" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetExtensionEvents">
-      <MemberSignature Language="C#" Value="public static void SetExtensionEvents (Gdk.Window window, int mask, Gdk.ExtensionMode mode);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="mask" Type="System.Int32" />
-        <Parameter Name="mode" Type="Gdk.ExtensionMode" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="mask">a <see cref="T:System.Int32" /></param>
-        <param name="mode">a <see cref="T:System.Int32" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AddFull">
-      <MemberSignature Language="C#" Value="public static int AddFull (int source, Gdk.InputCondition condition, Gdk.InputFunction function, IntPtr data, Gdk.DestroyNotify destroy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source" Type="System.Int32" />
-        <Parameter Name="condition" Type="Gdk.InputCondition" />
-        <Parameter Name="function" Type="Gdk.InputFunction" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gdk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="source">a <see cref="T:System.Int32" /></param>
-        <param name="condition">a <see cref="T:System.Int32" /></param>
-        <param name="function">a <see cref="T:Gdk.InputFunction" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <param name="destroy">a <see cref="T:Gdk.DestroyNotify" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Add">
-      <MemberSignature Language="C#" Value="public static int Add (int source, Gdk.InputCondition condition, Gdk.InputFunction function);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source" Type="System.Int32" />
-        <Parameter Name="condition" Type="Gdk.InputCondition" />
-        <Parameter Name="function" Type="Gdk.InputFunction" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="source">a <see cref="T:System.Int32" /></param>
-        <param name="condition">a <see cref="T:System.Int32" /></param>
-        <param name="function">a <see cref="T:Gdk.InputFunction" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Input ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/InputCondition.xml b/doc/en/Gdk/InputCondition.xml
deleted file mode 100644
index c49819c..0000000
--- a/doc/en/Gdk/InputCondition.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<Type Name="InputCondition" FullName="Gdk.InputCondition">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum InputCondition" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A set of flags used to specify conditions for which an input callback will be triggered.</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.InputConditionGType))</AttributeName>
-    </Attribute>
-    <Attribute>
-      <AttributeName>System.Flags</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Read">
-      <MemberSignature Language="C#" Value="Read" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.InputCondition</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The file descriptor has become available for reading. (Or, as is standard in Unix, a socket or pipe was closed at the other end; this is the case if a subsequent read on the file descriptor returns a count of zero.)  </summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Write">
-      <MemberSignature Language="C#" Value="Write" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.InputCondition</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The file descriptor has become available for writing. </summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Exception">
-      <MemberSignature Language="C#" Value="Exception" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.InputCondition</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An exception was raised on the file descriptor. </summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/InputFunction.xml b/doc/en/Gdk/InputFunction.xml
deleted file mode 100644
index 5809f13..0000000
--- a/doc/en/Gdk/InputFunction.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<Type Name="InputFunction" FullName="Gdk.InputFunction">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void InputFunction(IntPtr data, int source, InputCondition condition);" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="data">To be added.</param>
-    <param name="source">To be added.</param>
-    <param name="condition">To be added.</param>
-    <summary>Delegate to invoke when a condition becomes true on a file descriptor.  </summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="data" Type="System.IntPtr" />
-    <Parameter Name="source" Type="System.Int32" />
-    <Parameter Name="condition" Type="Gdk.InputCondition" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gdk/InvalidateMaybeRecurseChildFunc.xml b/doc/en/Gdk/InvalidateMaybeRecurseChildFunc.xml
deleted file mode 100644
index 5577b66..0000000
--- a/doc/en/Gdk/InvalidateMaybeRecurseChildFunc.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<Type Name="InvalidateMaybeRecurseChildFunc" FullName="Gdk.InvalidateMaybeRecurseChildFunc">
-  <TypeSignature Language="C#" Value="public delegate bool InvalidateMaybeRecurseChildFunc(Window arg1);" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="arg1" Type="Gdk.Window" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Boolean</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="arg1">The window to consider.</param>
-    <summary>Callback function for <see cref="M:Gdk.Window.InvalidateMaybeRecurse" />.</summary>
-    <returns>Whether or not the part of <paramref name="arg1" /> intersecting the region-to-be-invalidated should be invalidated.</returns>
-    <remarks />
-  </Docs>
-</Type>
diff --git a/doc/en/Gdk/JoinStyle.xml b/doc/en/Gdk/JoinStyle.xml
deleted file mode 100644
index cd0a583..0000000
--- a/doc/en/Gdk/JoinStyle.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<Type Name="JoinStyle" FullName="Gdk.JoinStyle">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum JoinStyle" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Determines how the joins between segments of a polygon are drawn.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.JoinStyleGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Miter">
-      <MemberSignature Language="C#" Value="Miter" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.JoinStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The sides of each line are extended to meet at an angle.</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Round">
-      <MemberSignature Language="C#" Value="Round" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.JoinStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The sides of the two lines are joined by a circular arc.</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Bevel">
-      <MemberSignature Language="C#" Value="Bevel" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.JoinStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The sides of the two lines are joined by a straight line which makes an equal angle with each line.</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Keymap.xml b/doc/en/Gdk/Keymap.xml
index 3cbda1a..7ea9da5 100644
--- a/doc/en/Gdk/Keymap.xml
+++ b/doc/en/Gdk/Keymap.xml
@@ -543,8 +543,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.Keymap.StateChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Keymap.StateChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/LineStyle.xml b/doc/en/Gdk/LineStyle.xml
deleted file mode 100644
index df6d576..0000000
--- a/doc/en/Gdk/LineStyle.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<Type Name="LineStyle" FullName="Gdk.LineStyle">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum LineStyle" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Determines how lines are drawn.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.LineStyleGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Solid">
-      <MemberSignature Language="C#" Value="Solid" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.LineStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Lines are drawn solid.</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnOffDash">
-      <MemberSignature Language="C#" Value="OnOffDash" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.LineStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Even segments are drawn; odd segments are not drawn.</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DoubleDash">
-      <MemberSignature Language="C#" Value="DoubleDash" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.LineStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>
-			Even segments are normally. Odd segments are drawn in the background color 
-			if the fill style is Fill.Solid, or in the background color masked by the stipple if 
-			the fill style is Fill.Stippled.
-		</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/OverlapType.xml b/doc/en/Gdk/OverlapType.xml
deleted file mode 100644
index 70bd8f2..0000000
--- a/doc/en/Gdk/OverlapType.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<Type Name="OverlapType" FullName="Gdk.OverlapType">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum OverlapType" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Specifies the possible values returned by <see cref="M:Gdk.Region.RectIn" />.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.OverlapTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="In">
-      <MemberSignature Language="C#" Value="In" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.OverlapType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>If the rectangle is inside the <see cref="T:Gdk.Region" />.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Out">
-      <MemberSignature Language="C#" Value="Out" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.OverlapType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>If the rectangle is outside the <see cref="T:Gdk.Region" />.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Part">
-      <MemberSignature Language="C#" Value="Part" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.OverlapType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>If the rectangle is partly inside the <see cref="T:Gdk.Region" />.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/POINTBLOCK.xml b/doc/en/Gdk/POINTBLOCK.xml
deleted file mode 100644
index 8838785..0000000
--- a/doc/en/Gdk/POINTBLOCK.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<Type Name="POINTBLOCK" FullName="Gdk.POINTBLOCK">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class POINTBLOCK : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public POINTBLOCK (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/PangoAttrEmbossColor.xml b/doc/en/Gdk/PangoAttrEmbossColor.xml
deleted file mode 100644
index d6fa482..0000000
--- a/doc/en/Gdk/PangoAttrEmbossColor.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<Type Name="PangoAttrEmbossColor" FullName="Gdk.PangoAttrEmbossColor">
-  <TypeSignature Language="C#" Value="public class PangoAttrEmbossColor : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoAttrEmbossColor (Gdk.Color color);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="color" Type="Gdk.Color" />
-      </Parameters>
-      <Docs>
-        <param name="color">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoAttrEmbossColor (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Color">
-      <MemberSignature Language="C#" Value="public Pango.Color Color { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Pango.Color</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Pango.Attribute op_Explicit (Gdk.PangoAttrEmbossColor attr);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Pango.Attribute</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="attr" Type="Gdk.PangoAttrEmbossColor" />
-      </Parameters>
-      <Docs>
-        <param name="attr">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrEmbossColor op_Explicit (Pango.Attribute attr);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrEmbossColor</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="attr" Type="Pango.Attribute" />
-      </Parameters>
-      <Docs>
-        <param name="attr">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.12" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gdk/PangoAttrEmbossed.xml b/doc/en/Gdk/PangoAttrEmbossed.xml
deleted file mode 100644
index 79974bd..0000000
--- a/doc/en/Gdk/PangoAttrEmbossed.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<Type Name="PangoAttrEmbossed" FullName="Gdk.PangoAttrEmbossed">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class PangoAttrEmbossed : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrEmbossed Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrEmbossed</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Obsolete: use <see langword="null" /></summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Gdk.PangoAttrEmbossed is a reference type now, use null")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoAttrEmbossed (bool embossed);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="embossed" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <param name="embossed">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrEmbossed New (bool embossed);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrEmbossed</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="embossed" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete: replaced by normal constructor</summary>
-        <param name="embossed">To be added: an object of type 'bool'</param>
-        <returns>To be added: an object of type 'Gdk.PangoAttrEmbossed'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoAttrEmbossed (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrEmbossed New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrEmbossed</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete internal constructor</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.PangoAttrEmbossed'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Pango.Attribute op_Explicit (Gdk.PangoAttrEmbossed attr_embossed);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Pango.Attribute</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="attr_embossed" Type="Gdk.PangoAttrEmbossed" />
-      </Parameters>
-      <Docs>
-        <param name="attr_embossed">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrEmbossed op_Explicit (Pango.Attribute attr);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrEmbossed</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="attr" Type="Pango.Attribute" />
-      </Parameters>
-      <Docs>
-        <param name="attr">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Embossed">
-      <MemberSignature Language="C#" Value="public bool Embossed { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Attr">
-      <MemberSignature Language="C#" Value="public Pango.Attribute Attr { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Pango.Attribute</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by explicit Pango.Attribute cast")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/PangoAttrStipple.xml b/doc/en/Gdk/PangoAttrStipple.xml
deleted file mode 100644
index 4e443c7..0000000
--- a/doc/en/Gdk/PangoAttrStipple.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-<Type Name="PangoAttrStipple" FullName="Gdk.PangoAttrStipple">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class PangoAttrStipple : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrStipple Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrStipple</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Gdk.PangoAttrStipple is a reference type now, use null")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoAttrStipple (Gdk.Pixmap stipple);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="stipple" Type="Gdk.Pixmap" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="stipple">To be added: an object of type 'Gdk.Pixmap'</param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrStipple New (Gdk.Pixmap stipple);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrStipple</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="stipple" Type="Gdk.Pixmap" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete: replaced by normal constructor</summary>
-        <param name="stipple">To be added: an object of type 'Gdk.Pixmap'</param>
-        <returns>To be added: an object of type 'Gdk.PangoAttrStipple'</returns>
-        <remarks />
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoAttrStipple (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrStipple New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrStipple</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete internal constructor</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.PangoAttrStipple'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Stipple">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap Stipple { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="stipple">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap stipple { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Obsolete alias for the <see cref="M:Gdk.PangoAttrStipple.Stipple" /> property</summary>
-        <value>To be added: an object of type 'Gdk.Pixmap'</value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Stipple property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Pango.Attribute op_Explicit (Gdk.PangoAttrStipple attr_stipple);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Pango.Attribute</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="attr_stipple" Type="Gdk.PangoAttrStipple" />
-      </Parameters>
-      <Docs>
-        <param name="attr_stipple">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="op_Explicit">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoAttrStipple op_Explicit (Pango.Attribute attr);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoAttrStipple</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="attr" Type="Pango.Attribute" />
-      </Parameters>
-      <Docs>
-        <param name="attr">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Attr">
-      <MemberSignature Language="C#" Value="public Pango.Attribute Attr { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Pango.Attribute</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by explicit Pango.Attribute cast")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/PangoRenderer.xml b/doc/en/Gdk/PangoRenderer.xml
deleted file mode 100644
index 95edd3f..0000000
--- a/doc/en/Gdk/PangoRenderer.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<Type Name="PangoRenderer" FullName="Gdk.PangoRenderer">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class PangoRenderer : Pango.Renderer" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-    <since version="Gtk# 2.6" />
-  </Docs>
-  <Base>
-    <BaseTypeName>Pango.Renderer</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="GetDefault">
-      <MemberSignature Language="C#" Value="public static Gdk.PangoRenderer GetDefault (Gdk.Screen screen);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PangoRenderer</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="screen" Type="Gdk.Screen" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="screen">a <see cref="T:Gdk.Screen" /></param>
-        <returns>a <see cref="T:Gdk.PangoRenderer" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetOverrideColor">
-      <MemberSignature Language="C#" Value="public void SetOverrideColor (Pango.RenderPart part, Gdk.Color color);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="part" Type="Pango.RenderPart" />
-        <Parameter Name="color" Type="Gdk.Color" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="part">a <see cref="T:System.Int32" /></param>
-        <param name="color">a <see cref="T:Gdk.Color" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetStipple">
-      <MemberSignature Language="C#" Value="public void SetStipple (Pango.RenderPart part, Gdk.Pixmap stipple);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="part" Type="Pango.RenderPart" />
-        <Parameter Name="stipple" Type="Gdk.Pixmap" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="part">a <see cref="T:System.Int32" /></param>
-        <param name="stipple">a <see cref="T:Gdk.Pixmap" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected PangoRenderer (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoRenderer (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks>This is not typically used by C# code.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PangoRenderer (Gdk.Screen screen);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="screen" Type="Gdk.Screen" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="screen">a <see cref="T:Gdk.Screen" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.PangoRenderer" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Screen">
-      <MemberSignature Language="C#" Value="public Gdk.Screen Screen { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Screen</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Screen" /></value>
-        <remarks>To be added</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("screen")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Drawable">
-      <MemberSignature Language="C#" Value="public Gdk.Drawable Drawable { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Drawable</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Drawable" /></value>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Gc">
-      <MemberSignature Language="C#" Value="public Gdk.GC Gc { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GC</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.GC" /></value>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/PickEmbeddedChildArgs.xml b/doc/en/Gdk/PickEmbeddedChildArgs.xml
index 8d747e7..ceaa2fd 100644
--- a/doc/en/Gdk/PickEmbeddedChildArgs.xml
+++ b/doc/en/Gdk/PickEmbeddedChildArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.PickEmbeddedChild" /> event invokes <see cref="T:Gdk.PickEmbeddedChildHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.PickEmbeddedChildArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.PickEmbeddedChildHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/PickEmbeddedChildHandler.xml b/doc/en/Gdk/PickEmbeddedChildHandler.xml
index bf5b5b5..4c0dada 100644
--- a/doc/en/Gdk/PickEmbeddedChildHandler.xml
+++ b/doc/en/Gdk/PickEmbeddedChildHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.PickEmbeddedChild" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.PickEmbeddedChildArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.PickEmbeddedChildHandler" /> to an event, add the PickEmbeddedChildHandler instance to the event.  The methods referenced by the PickEmbeddedChildHandler instance are invoked whenever the event is raised, until the PickEmbeddedChildHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/Pixbuf.xml b/doc/en/Gdk/Pixbuf.xml
index c14903e..475c6e9 100644
--- a/doc/en/Gdk/Pixbuf.xml
+++ b/doc/en/Gdk/Pixbuf.xml
@@ -1,6 +1,6 @@
 <Type Name="Pixbuf" FullName="Gdk.Pixbuf">
-  <TypeSignature Language="C#" Maintainer="miguel" Value="public class Pixbuf : GLib.Object, GLib.Icon" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Pixbuf extends GLib.Object implements class GLib.Icon, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Maintainer="miguel" Value="public class Pixbuf : GLib.Object, GLib.IIcon" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Pixbuf extends GLib.Object implements class GLib.IIcon, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gdk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>GLib.Icon</InterfaceName>
+      <InterfaceName>GLib.IIcon</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -945,14 +945,14 @@ mcs -resource:image.jpg sample.cs
       </Docs>
     </Member>
     <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (GLib.Icon icon2);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.Icon icon2) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equal (GLib.IIcon icon2);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equal(class GLib.IIcon icon2) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon2" Type="GLib.Icon" />
+        <Parameter Name="icon2" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon2">To be added.</param>
diff --git a/doc/en/Gdk/Pixmap.xml b/doc/en/Gdk/Pixmap.xml
deleted file mode 100644
index 8cd3460..0000000
--- a/doc/en/Gdk/Pixmap.xml
+++ /dev/null
@@ -1,434 +0,0 @@
-<Type Name="Pixmap" FullName="Gdk.Pixmap">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Pixmap : Gdk.Drawable" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Offscreen drawable.</summary>
-    <remarks>
-      <para>Pixmaps are offscreen drawables that reside on the server on the X11 platform. They can be drawn upon with the standard drawing primitives, then copied to another drawable (such as a <see cref="T:Gdk.Window" />) with <see cref="M:Gdk.Pixmap.Draw()" />. 
-</para>
-      <para>
-The depth of a pixmap is the number of bits per pixels. Bitmaps are simply pixmaps with a depth of 1. (That is, they are monochrome bitmaps - each pixel can be either on or off).
-</para>
-      <para>
-For client-side images, see the <see cref="T:Gdk.Pixbuf" /> class.
-</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gdk.Drawable</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Lookup">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap Lookup (uint anid);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="anid" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Looks up the <see cref="T:Gdk.Pixmap" /> that wraps the given native pixmap handle.</summary>
-        <param name="anid">	 a native pixmap handle.</param>
-        <returns> the <see cref="T:Gdk.Window" /> wrapper for the native window, or <see langword="null" /> if there is none.</returns>
-        <remarks>Looks up the GdkPixmap that wraps the given native pixmap handle.
-<para>
-For example in the X backend, a native pixmap handle is an Xlib XID.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ForeignNew">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ForeignNew (uint anid);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="anid" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Wraps a native window for the default display in a <see cref="T:Gdk.Pixmap" />. This may fail if the pixmap has been destroyed.</summary>
-        <param name="anid"> a native pixmap handle.</param>
-        <returns>The newly-created <see cref="T:Gdk.Pixmap" /> wrapper for the native pixmap or <see langword="null" /> if the pixmap has been destroyed.</returns>
-        <remarks>Wraps a native window for the default display in a GdkPixmap. This may fail if the pixmap has been destroyed.
-<para>
-For example in the X backend, a native pixmap handle is an Xlib XID.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Pixmap (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LookupForDisplay">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap LookupForDisplay (Gdk.Display display, uint anid);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="display" Type="Gdk.Display" />
-        <Parameter Name="anid" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="display">a <see cref="T:Gdk.Display" /></param>
-        <param name="anid">a <see cref="T:System.UInt32" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ForeignNewForDisplay">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ForeignNewForDisplay (Gdk.Display display, uint anid);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="display" Type="Gdk.Display" />
-        <Parameter Name="anid" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Wraps a native pixmap in a <see cref="T:Gdk.Pixmap" />. This may fail if the pixmap has been destroyed.</summary>
-        <param name="display">The <see cref="T:Gdk.Display" /> where the pixmap is located.</param>
-        <param name="anid">	 a native pixmap handle.</param>
-        <returns>The newly-created <see cref="T:Gdk.Pixmap" /> wrapper for the native pixmap or <see langword="null" /> if the pixmap has been destroyed.</returns>
-        <remarks>Wraps a native pixmap in a GdkPixmap. This may fail if the pixmap has been destroyed.
-<para>
-For example in the X backend, a native pixmap handle is an Xlib XID.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateFromData">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap CreateFromData (Gdk.Drawable drawable, string data, int width, int height, int depth, Gdk.Color fg, Gdk.Color bg);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="data" Type="System.String" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="depth" Type="System.Int32" />
-        <Parameter Name="fg" Type="Gdk.Color" />
-        <Parameter Name="bg" Type="Gdk.Color" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="data">a <see cref="T:System.String" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="depth">a <see cref="T:System.Int32" /></param>
-        <param name="fg">a <see cref="T:Gdk.Color" /></param>
-        <param name="bg">a <see cref="T:Gdk.Color" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Pixmap (Gdk.Drawable drawable, int width, int height, int depth);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="depth" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Creates a new pixmap with the given size and depth.</summary>
-        <param name="drawable">A <see cref="T:Gdk.Drawable" />, used to determine default values for the new pixmap.
- Can be <see langword="null" /> if <paramref name="depth" /> is specified</param>
-        <param name="width">The width of the new pixmap in pixels.</param>
-        <param name="height">	The height of the new pixmap in pixels.</param>
-        <param name="depth">The depth (number of bits per pixel) of the new pixmap. If -1, and drawable is not <see langword="null" />, the depth of the new pixmap will be equal to that of drawable.</param>
-        <remarks>Create a new pixmap with a given size and depth. </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Pixmap" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Pixmap (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Pixmap (Gdk.Drawable drawable, int width, int height);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Create a new pixmap using a reference drawable for depth.</summary>
-        <param name="drawable">A <see cref="T:Gdk.Drawable" />, used to determine default values for the new pixmap.</param>
-        <param name="width">The width of the new pixmap in pixels.</param>
-        <param name="height">The height of the new pixmap in pixels.</param>
-        <remarks>Creates a new pixmap with a given size and depth.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateFromXpmD">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap CreateFromXpmD (Gdk.Drawable drawable, out Gdk.Pixmap mask, Gdk.Color transparent_color, string[] data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="mask" Type="Gdk.Pixmap&" RefType="out" />
-        <Parameter Name="transparent_color" Type="Gdk.Color" />
-        <Parameter Name="data" Type="System.String[]" />
-      </Parameters>
-      <Docs>
-        <summary>Create a pixmap from XPM data.</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="mask">a <see cref="T:Gdk.Pixmap" /></param>
-        <param name="transparent_color">a <see cref="T:Gdk.Color" /></param>
-        <param name="data">an array of <see cref="T:System.String" />, defining an XPM image</param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ColormapCreateFromXpm">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ColormapCreateFromXpm (Gdk.Drawable drawable, Gdk.Colormap colormap, out Gdk.Pixmap mask, Gdk.Color transparent_color, string filename);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="colormap" Type="Gdk.Colormap" />
-        <Parameter Name="mask" Type="Gdk.Pixmap&" RefType="out" />
-        <Parameter Name="transparent_color" Type="Gdk.Color" />
-        <Parameter Name="filename" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Create a pixmap from an XPM file using a specific colormap.</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="colormap">a <see cref="T:Gdk.Colormap" /></param>
-        <param name="mask">a <see cref="T:Gdk.Pixmap" /></param>
-        <param name="transparent_color">a <see cref="T:Gdk.Color" /></param>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateFromXpm">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap CreateFromXpm (Gdk.Drawable drawable, out Gdk.Pixmap mask, Gdk.Color transparent_color, string filename);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="mask" Type="Gdk.Pixmap&" RefType="out" />
-        <Parameter Name="transparent_color" Type="Gdk.Color" />
-        <Parameter Name="filename" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Create a pixmap from an XPM file.</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="mask">a <see cref="T:Gdk.Pixmap" /></param>
-        <param name="transparent_color">a <see cref="T:Gdk.Color" /></param>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ColormapCreateFromXpmD">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ColormapCreateFromXpmD (Gdk.Drawable drawable, Gdk.Colormap colormap, out Gdk.Pixmap mask, Gdk.Color transparent_color, string[] data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="colormap" Type="Gdk.Colormap" />
-        <Parameter Name="mask" Type="Gdk.Pixmap&" RefType="out" />
-        <Parameter Name="transparent_color" Type="Gdk.Color" />
-        <Parameter Name="data" Type="System.String[]" />
-      </Parameters>
-      <Docs>
-        <summary>Create a pixmap from XPM data using a colormap.</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="colormap">a <see cref="T:Gdk.Colormap" /></param>
-        <param name="mask">a <see cref="T:Gdk.Pixmap" /></param>
-        <param name="transparent_color">a <see cref="T:Gdk.Color" /></param>
-        <param name="data">an array of <see cref="T:System.String" />, defining an image in XPM format</param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ColormapCreateFromXpm">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ColormapCreateFromXpm (Gdk.Drawable drawable, Gdk.Colormap colormap, string filename);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="colormap" Type="Gdk.Colormap" />
-        <Parameter Name="filename" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="colormap">a <see cref="T:Gdk.Colormap" /></param>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateFromXpm">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap CreateFromXpm (Gdk.Drawable drawable, string filename);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="filename" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ColormapCreateFromXpmD">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ColormapCreateFromXpmD (Gdk.Drawable drawable, Gdk.Colormap colormap, string data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="colormap" Type="Gdk.Colormap" />
-        <Parameter Name="data" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="colormap">a <see cref="T:Gdk.Colormap" /></param>
-        <param name="data">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateFromXpmD">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap CreateFromXpmD (Gdk.Drawable drawable, string data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="data" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="data">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gdk.Pixmap" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateBitmapFromData">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap CreateBitmapFromData (Gdk.Drawable drawable, string data, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="data" Type="System.String" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Creates a new bitmap from data in XBM format.</summary>
-        <param name="drawable">A <see cref="T:Gdk.Drawable" />, used to determine default values for the new pixmap.</param>
-        <param name="data">A string representing the XBM data.</param>
-        <param name="width">The width of the new pixmap in pixels.</param>
-        <param name="height">The height of the new pixmap in pixels.</param>
-        <returns>The bitmap.</returns>
-        <remarks>None.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="ForeignNewForScreen">
-      <MemberSignature Language="C#" Value="public static Gdk.Pixmap ForeignNewForScreen (Gdk.Screen screen, uint anid, int width, int height, int depth);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="screen" Type="Gdk.Screen" />
-        <Parameter Name="anid" Type="System.UInt32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="depth" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="screen">the desired screen.</param>
-        <param name="anid">Native pixmap handle, for example, an xlib XID.</param>
-        <param name="width">Width of pixmap <paramref name="anid" />.</param>
-        <param name="height">Height of pixmap <paramref name="anid" />.</param>
-        <param name="depth">Depth of pixmap <paramref name="anid" />.</param>
-        <summary>Wraps a native Pixmap for a screen.</summary>
-        <returns>a <see cref="T:Gdk.Pixmap" /> wrapping the native ID, or <see langword="null" /> if the native pixmap is destroyed.</returns>
-        <remarks>Use this method as an alternative to <see cref="M:Gdk.Pixmap.ForeignNewForDisplay" /> when the dimensions and screen are known, which saves a roundtrip to the server on X.</remarks>
-        <since version="Gtk# 2.10" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/PointerHooks.xml b/doc/en/Gdk/PointerHooks.xml
deleted file mode 100644
index 394c998..0000000
--- a/doc/en/Gdk/PointerHooks.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="PointerHooks" FullName="Gdk.PointerHooks">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct PointerHooks" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.PointerHooks Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PointerHooks</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.PointerHooks New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.PointerHooks</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.PointerHooks'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Region.xml b/doc/en/Gdk/Region.xml
deleted file mode 100644
index d9963fa..0000000
--- a/doc/en/Gdk/Region.xml
+++ /dev/null
@@ -1,321 +0,0 @@
-<Type Name="Region" FullName="Gdk.Region">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Region : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Represents an area of the screen.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Rectangle">
-      <MemberSignature Language="C#" Value="public static Gdk.Region Rectangle (Gdk.Rectangle rectangle);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Region</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="rectangle" Type="Gdk.Rectangle" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="rectangle">a <see cref="M:Gdk.Rectangle" /></param>
-        <returns>a <see cref="M:Gdk.Region" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="public Gdk.Region Copy ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Region</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="M:Gdk.Region" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="RectIn">
-      <MemberSignature Language="C#" Value="public Gdk.OverlapType RectIn (Gdk.Rectangle rectangle);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.OverlapType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="rectangle" Type="Gdk.Rectangle" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="rectangle">a <see cref="M:Gdk.Rectangle" /></param>
-        <returns>a <see cref="M:Gdk.OverlapType" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SpansIntersectForeach">
-      <MemberSignature Language="C#" Value="public void SpansIntersectForeach (Gdk.Span spans, int n_spans, bool sorted, Gdk.SpanFunc function);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="spans" Type="Gdk.Span" />
-        <Parameter Name="n_spans" Type="System.Int32" />
-        <Parameter Name="sorted" Type="System.Boolean" />
-        <Parameter Name="function" Type="Gdk.SpanFunc" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="spans">a <see cref="M:Gdk.Span" /></param>
-        <param name="n_spans">a <see cref="M:System.Int32" /></param>
-        <param name="sorted">a <see cref="M:System.Boolean" /></param>
-        <param name="function">a <see cref="M:Gdk.SpanFunc" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Xor">
-      <MemberSignature Language="C#" Value="public void Xor (Gdk.Region source2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source2" Type="Gdk.Region" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="source2">a <see cref="M:Gdk.Region" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Subtract">
-      <MemberSignature Language="C#" Value="public void Subtract (Gdk.Region source2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source2" Type="Gdk.Region" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="source2">a <see cref="M:Gdk.Region" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="UnionWithRect">
-      <MemberSignature Language="C#" Value="public void UnionWithRect (Gdk.Rectangle rect);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="rect" Type="Gdk.Rectangle" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="rect">a <see cref="M:Gdk.Rectangle" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Destroy">
-      <MemberSignature Language="C#" Value="public void Destroy ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Offset">
-      <MemberSignature Language="C#" Value="public void Offset (int dx, int dy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dx" Type="System.Int32" />
-        <Parameter Name="dy" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="dx">a <see cref="M:System.Int32" /></param>
-        <param name="dy">a <see cref="M:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Empty">
-      <MemberSignature Language="C#" Value="public bool Empty ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="M:System.Boolean" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Intersect">
-      <MemberSignature Language="C#" Value="public void Intersect (Gdk.Region source2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source2" Type="Gdk.Region" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="source2">a <see cref="M:Gdk.Region" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="PointIn">
-      <MemberSignature Language="C#" Value="public bool PointIn (int x, int y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="x">a <see cref="M:System.Int32" /></param>
-        <param name="y">a <see cref="M:System.Int32" /></param>
-        <returns>a <see cref="M:System.Boolean" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Union">
-      <MemberSignature Language="C#" Value="public void Union (Gdk.Region source2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source2" Type="Gdk.Region" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="source2">a <see cref="M:Gdk.Region" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (Gdk.Region region2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="region2" Type="Gdk.Region" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="region2">a <see cref="M:Gdk.Region" /></param>
-        <returns>a <see cref="M:System.Boolean" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Shrink">
-      <MemberSignature Language="C#" Value="public void Shrink (int dx, int dy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dx" Type="System.Int32" />
-        <Parameter Name="dy" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="dx">a <see cref="M:System.Int32" /></param>
-        <param name="dy">a <see cref="M:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Region (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Region ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetRectangles">
-      <MemberSignature Language="C#" Value="public Gdk.Rectangle[] GetRectangles ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Rectangle[]</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:Gdk.Rectangle[]" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Clipbox">
-      <MemberSignature Language="C#" Value="public Gdk.Rectangle Clipbox { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Rectangle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gdk.Rectangle" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Polygon">
-      <MemberSignature Language="C#" Value="public static Gdk.Region Polygon (Gdk.Point[] points, Gdk.FillRule fill_rule);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Region</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="points" Type="Gdk.Point[]" />
-        <Parameter Name="fill_rule" Type="Gdk.FillRule" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="points">a <see cref="T:Gdk.Point" /></param>
-        <param name="fill_rule">a <see cref="T:System.Int32" /></param>
-        <returns>a <see cref="T:Gdk.Region" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/RegionBox.xml b/doc/en/Gdk/RegionBox.xml
deleted file mode 100644
index 6eda6c6..0000000
--- a/doc/en/Gdk/RegionBox.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<Type Name="RegionBox" FullName="Gdk.RegionBox">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct RegionBox" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.RegionBox Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RegionBox</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.RegionBox New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RegionBox</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <returns>a <see cref="T:Gdk.RegionBox" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X1">
-      <MemberSignature Language="C#" Value="public int X1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Y1">
-      <MemberSignature Language="C#" Value="public int Y1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X2">
-      <MemberSignature Language="C#" Value="public int X2;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Y2">
-      <MemberSignature Language="C#" Value="public int Y2;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Rgb.xml b/doc/en/Gdk/Rgb.xml
deleted file mode 100644
index fa4dbea..0000000
--- a/doc/en/Gdk/Rgb.xml
+++ /dev/null
@@ -1,224 +0,0 @@
-<Type Name="Rgb" FullName="Gdk.Rgb">
-  <TypeSignature Language="C#" Value="public class Rgb" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>
-      <para>
-Gdk's <see cref="T:Gdk.Rgb" /> is a low-level module which renders RGB, grayscale, and indexed colormap images to a <see cref="T:Gdk.Drawable" />. It does this as efficiently as possible, handling issues such as colormaps, visuals, dithering, temporary buffers, and so on. Most code should use the higher-level GdkPixbuf features in place of this module; for example, gdk_pixbuf_render_to_drawable() uses GdkRGB in its implementation.
-</para>
-      <para>
-GdkRGB allocates a color cube to use when rendering images. You can set the threshold for installing colormaps with the Gdk.<see cref="M:Gdk.Rgb.MinColors" /> property. The default is 5x5x5 (125). If a colorcube of this size or larger can be allocated in the default colormap, then that's done. Otherwise, GdkRGB creates its own private colormap. Setting it to 0 means that it always tries to use the default colormap, and setting it to 216 means that it always creates a private one if it ca [...]
-</para>
-    </summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="FindColor">
-      <MemberSignature Language="C#" Value="public static void FindColor (Gdk.Colormap colormap, ref Gdk.Color color);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="colormap" Type="Gdk.Colormap" />
-        <Parameter Name="color" Type="Gdk.Color&" RefType="ref" />
-      </Parameters>
-      <Docs>
-        <summary>Fetches a color to be used on the given colormap.</summary>
-        <param name="colormap">Tthe colormap for the graphics context and drawable you're using to draw. If you're drawing to a <see cref="T:Gtk.Widget" />, use the <see cref="P:Gtk.Widget.Colormap" /> property.</param>
-        <param name="color">Color should have its red, green, and blue fields initialized.</param>
-        <remarks>This routine will fill in the pixel field with the best matching pixel from a color cube. The color is then ready to be used for drawing, e.g. you can use <see cref="P:Gtk.GC.Foreground" /> which expects the pixel to be initialized.
-
-<para>
-In many cases, you can avoid this whole issue by setting the <see cref="P:Gdk.GC.RgbFgColor" /> or <see cref="P:Gdk.GC.RgbBgColor" />, which do not expect pixel to be initialized in advance. If you use those functions, there's no need for using FindColor.
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Ditherable">
-      <MemberSignature Language="C#" Value="public static bool Ditherable ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Whether the visual in use by GdkRGB is dithereable.</summary>
-        <returns>
-          <see langword="true" /> if the visual is ditherable.</returns>
-        <remarks>Determines whether the visual is ditherable. This function may be useful for presenting a user interface choice to the user about which dither mode is desired; if the display is not ditherable, it may make sense to gray out or hide the corresponding UI widget.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Rgb ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Basic constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="MinColors">
-      <MemberSignature Language="C#" Value="public static int MinColors { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The minimum number of colors for this colormap.</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks>Sets the minimum number of colors for the color cube. Generally, GdkRGB tries to allocate the largest color cube it can. If it can't allocate a color cube at least as large as min_colors, it installs a private colormap.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Visual">
-      <MemberSignature Language="C#" Value="public static Gdk.Visual Visual { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Visual</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The preferred visual for GdkRGB operations.</summary>
-        <value>a <see cref="T:Gdk.Visual" /></value>
-        <remarks>Gets a "preferred visual" chosen by GdkRGB for rendering image data on the default screen. In previous versions of GDK, this was the only visual GdkRGB could use for rendering. In current versions, it's simply the visual GdkRGB would have chosen as the optimal one in those previous versions. GdkRGB can now render to drawables with any visual.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Install">
-      <MemberSignature Language="C#" Value="public static bool Install { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether to install a private colormap for Gdk.RGB</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks>If the value is <see langword="true" />, it directs GdkRGB to always install a new "private" colormap rather than trying to find a best fit with the colors already allocated. Ordinarily, GdkRGB will install a colormap only if a sufficient cube cannot be allocated.
-<para>
-A private colormap has more colors, leading to better quality display, but also leads to the dreaded "colormap flashing" effect. 
-</para></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Colormap">
-      <MemberSignature Language="C#" Value="public static Gdk.Colormap Colormap { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Colormap</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Get preferred colormap for using Gdk.RGB</summary>
-        <value>The preferred <see cref="T:Gdk.Colormap" />.</value>
-        <remarks>Get the preferred colormap for rendering image data. Not a very useful function; historically, GDK could only render RGB image data to one colormap and visual, but in the current version it can render to any colormap and visual. So there's no need to call this function.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Verbose">
-      <MemberSignature Language="C#" Value="public static bool Verbose { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether or not to be verbose to the console about actions. Useful for debugging.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GcSetForeground">
-      <MemberSignature Language="C#" Value="public static void GcSetForeground (Gdk.GC gc, uint rgb);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="rgb" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="rgb">a <see cref="T:System.UInt32" /></param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GcSetBackground">
-      <MemberSignature Language="C#" Value="public static void GcSetBackground (Gdk.GC gc, uint rgb);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-        <Parameter Name="rgb" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <param name="rgb">a <see cref="T:System.UInt32" /></param>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="XpixelFromRgb">
-      <MemberSignature Language="C#" Value="public static ulong XpixelFromRgb (uint rgb);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt64</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="rgb" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="rgb">a <see cref="T:System.UInt32" /></param>
-        <returns>a <see cref="T:System.UInt64" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Init">
-      <MemberSignature Language="C#" Value="public static void Init ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="ColormapDitherable">
-      <MemberSignature Language="C#" Value="public static bool ColormapDitherable (Gdk.Colormap cmap);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="cmap" Type="Gdk.Colormap" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="cmap">a <see cref="T:Gdk.Colormap" /></param>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.6" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/RgbCmap.xml b/doc/en/Gdk/RgbCmap.xml
deleted file mode 100644
index b87eb17..0000000
--- a/doc/en/Gdk/RgbCmap.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<Type Name="RgbCmap" FullName="Gdk.RgbCmap">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class RgbCmap : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A private data structure which maps color indices to actual RGB colors.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.RgbCmap Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RgbCmap</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Obsolete: use <see langword="null" /></summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Gdk.RgbCmap is a reference type now, use null")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RgbCmap (uint[] colors);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="colors" Type="System.UInt32[]" />
-      </Parameters>
-      <Docs>
-        <summary>Constructs a new <see cref="T:Gdk.RgbCmap" /> with the given colors.</summary>
-        <param name="colors">An array of colors in the form 0xRRGGBB.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RgbCmap (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor.</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.RgbCmap New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RgbCmap</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete internal constructor.</summary>
-        <param name="raw">a <see cref="M:IntPtr" /></param>
-        <returns>a <see cref="M:Gdk.RgbCmap" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="NColors">
-      <MemberSignature Language="C#" Value="public int NColors { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The number of colors in the colormap.</summary>
-        <value>The number of colors in the colormap.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/RgbDither.xml b/doc/en/Gdk/RgbDither.xml
deleted file mode 100644
index 906b98e..0000000
--- a/doc/en/Gdk/RgbDither.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<Type Name="RgbDither" FullName="Gdk.RgbDither">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum RgbDither" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Selects whether or not <see cref="T:Gdk.Rgb" /> applies dithering to the image on display.</summary>
-    <remarks>Since <see cref="T:Gdk.Rgb" /> currently only handles images with 8 bits per component, dithering on 24 bit per pixel displays is a moot point.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.RgbDitherGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="None">
-      <MemberSignature Language="C#" Value="None" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RgbDither</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Never use dithering.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Normal">
-      <MemberSignature Language="C#" Value="Normal" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RgbDither</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Use dithering in 8 bits per pixel (and below) only.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Max">
-      <MemberSignature Language="C#" Value="Max" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.RgbDither</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Use dithering in 16 bits per pixel and below.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/ScanLineList.xml b/doc/en/Gdk/ScanLineList.xml
deleted file mode 100644
index c2fc6a1..0000000
--- a/doc/en/Gdk/ScanLineList.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<Type Name="ScanLineList" FullName="Gdk.ScanLineList">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class ScanLineList : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ScanLineList (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/ScanLineListBlock.xml b/doc/en/Gdk/ScanLineListBlock.xml
deleted file mode 100644
index 0a89a8a..0000000
--- a/doc/en/Gdk/ScanLineListBlock.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<Type Name="ScanLineListBlock" FullName="Gdk.ScanLineListBlock">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class ScanLineListBlock : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ScanLineListBlock (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Screen.xml b/doc/en/Gdk/Screen.xml
index a7a4f40..a756643 100644
--- a/doc/en/Gdk/Screen.xml
+++ b/doc/en/Gdk/Screen.xml
@@ -876,8 +876,8 @@ Console.WriteLine("You have {0} monitors.",numMonitors);
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.Screen.MonitorsChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Screen.MonitorsChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/Segment.xml b/doc/en/Gdk/Segment.xml
deleted file mode 100644
index f5b51db..0000000
--- a/doc/en/Gdk/Segment.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<Type Name="Segment" FullName="Gdk.Segment">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct Segment" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Represents a line segment defined as  [(x1,y1),(x2,y2)]</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.Segment Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Segment</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>References a static field defined as new Gdk.Segment ();
-</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.Segment New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Segment</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Returns a new <see cref="T:Gdk.Segment" /> object. </summary>
-        <param name="raw">an object of type 'IntPtr'</param>
-        <returns>an object of type 'Gdk.Segment'</returns>
-        <remarks>Passig IntPtr.Zero returns  Gdk.Segment.Zero</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X1">
-      <MemberSignature Language="C#" Value="public int X1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>First x-value for the line segment.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Y1">
-      <MemberSignature Language="C#" Value="public int Y1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>First y-value for the line segment.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="X2">
-      <MemberSignature Language="C#" Value="public int X2;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Second x-value for the line segment.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Y2">
-      <MemberSignature Language="C#" Value="public int Y2;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Second y-value for the line segment.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/SizePreparedHandler.xml b/doc/en/Gdk/SizePreparedHandler.xml
index 52656a2..79d513c 100644
--- a/doc/en/Gdk/SizePreparedHandler.xml
+++ b/doc/en/Gdk/SizePreparedHandler.xml
@@ -17,8 +17,8 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
     <summary>Event handler.</summary>
     <remarks>
       <para>The <see cref="M:Gdk.PixbufLoader.SizePrepared" /> event utilizes this delegate:</para>
diff --git a/doc/en/Gdk/Span.xml b/doc/en/Gdk/Span.xml
deleted file mode 100644
index 4dfee1a..0000000
--- a/doc/en/Gdk/Span.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<Type Name="Span" FullName="Gdk.Span">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct Span" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.Span Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Span</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.Span New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Span</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">To be added: an object of type 'IntPtr'</param>
-        <returns>To be added: an object of type 'Gdk.Span'</returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X">
-      <MemberSignature Language="C#" Value="public int X;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Y">
-      <MemberSignature Language="C#" Value="public int Y;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Width">
-      <MemberSignature Language="C#" Value="public int Width;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/SpanFunc.xml b/doc/en/Gdk/SpanFunc.xml
deleted file mode 100644
index 5bd67ba..0000000
--- a/doc/en/Gdk/SpanFunc.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<Type Name="SpanFunc" FullName="Gdk.SpanFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void SpanFunc(Span span);" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="span">To be added.</param>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="span" Type="Gdk.Span" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gdk/Spawn.xml b/doc/en/Gdk/Spawn.xml
deleted file mode 100644
index cb4de55..0000000
--- a/doc/en/Gdk/Spawn.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<Type Name="Spawn" FullName="Gdk.Spawn">
-  <TypeSignature Language="C#" Value="public class Spawn" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Process spawning methods</summary>
-    <remarks />
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="CommandLineOnScreen">
-      <MemberSignature Language="C#" Value="public static bool CommandLineOnScreen (Gdk.Screen screen, string command_line);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="screen" Type="Gdk.Screen" />
-        <Parameter Name="command_line" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Spawns a process on a Screen using a commandline string.</summary>
-        <param name="screen">a <see cref="T:Gdk.Screen" /></param>
-        <param name="command_line">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Spawn ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks>No instance methods exist.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnScreen">
-      <MemberSignature Language="C#" Value="public static bool OnScreen (Gdk.Screen screen, string working_directory, string[] argv, string[] envp, GLib.SpawnFlags flags, GLib.SpawnChildSetupFunc child_setup, out int child_pid);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="screen" Type="Gdk.Screen" />
-        <Parameter Name="working_directory" Type="System.String" />
-        <Parameter Name="argv" Type="System.String[]" />
-        <Parameter Name="envp" Type="System.String[]" />
-        <Parameter Name="flags" Type="GLib.SpawnFlags" />
-        <Parameter Name="child_setup" Type="GLib.SpawnChildSetupFunc" />
-        <Parameter Name="child_pid" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="screen">A screen to spawn on.</param>
-        <param name="working_directory">The process working directory.</param>
-        <param name="argv">Argument list, with program at index 0.</param>
-        <param name="envp">List of environment variables.</param>
-        <param name="flags">Spawning flags.</param>
-        <param name="child_setup">Child setup callback.</param>
-        <param name="child_pid">Returns the child process id.</param>
-        <summary>Spawns a process on a screen using argument and environment lists.</summary>
-        <returns>If <see langword="true" />, the process was spawned successfully.</returns>
-        <remarks />
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-    <Member MemberName="OnScreenWithPipes">
-      <MemberSignature Language="C#" Value="public static bool OnScreenWithPipes (Gdk.Screen screen, string working_directory, string[] argv, string[] envp, GLib.SpawnFlags flags, GLib.SpawnChildSetupFunc child_setup, out int child_pid, out int standard_input, out int standard_output, out int standard_error);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="screen" Type="Gdk.Screen" />
-        <Parameter Name="working_directory" Type="System.String" />
-        <Parameter Name="argv" Type="System.String[]" />
-        <Parameter Name="envp" Type="System.String[]" />
-        <Parameter Name="flags" Type="GLib.SpawnFlags" />
-        <Parameter Name="child_setup" Type="GLib.SpawnChildSetupFunc" />
-        <Parameter Name="child_pid" Type="System.Int32&" RefType="out" />
-        <Parameter Name="standard_input" Type="System.Int32&" RefType="out" />
-        <Parameter Name="standard_output" Type="System.Int32&" RefType="out" />
-        <Parameter Name="standard_error" Type="System.Int32&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <param name="screen">A screen to spawn on.</param>
-        <param name="working_directory">The process working directory.</param>
-        <param name="argv">Argument list, with program at index 0.</param>
-        <param name="envp">List of environment variables.</param>
-        <param name="flags">Spawning flags.</param>
-        <param name="child_setup">Child setup callback.</param>
-        <param name="child_pid">Returns the child process id.</param>
-        <param name="standard_input">Returns a stdin pipe.</param>
-        <param name="standard_output">Returns a stdout pipe.</param>
-        <param name="standard_error">Returns a stderr pipe.</param>
-        <summary>Spawns a process on a screen using argument and environment lists.</summary>
-        <returns>If <see langword="true" />, the process was spawned successfully.</returns>
-        <remarks />
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/SubwindowMode.xml b/doc/en/Gdk/SubwindowMode.xml
deleted file mode 100644
index 1d8663a..0000000
--- a/doc/en/Gdk/SubwindowMode.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<Type Name="SubwindowMode" FullName="Gdk.SubwindowMode">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum SubwindowMode" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Determines how drawing onto a window will affect child windows of that window.</summary>
-    <remarks>None.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.SubwindowModeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="ClipByChildren">
-      <MemberSignature Language="C#" Value="ClipByChildren" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.SubwindowMode</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Only draw onto the window itself.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IncludeInferiors">
-      <MemberSignature Language="C#" Value="IncludeInferiors" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.SubwindowMode</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draw onto the window and child windows.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/TextProperty.xml b/doc/en/Gdk/TextProperty.xml
index 96b6702..5088027 100644
--- a/doc/en/Gdk/TextProperty.xml
+++ b/doc/en/Gdk/TextProperty.xml
@@ -26,29 +26,6 @@
         <remarks>To be added</remarks>
       </Docs>
     </Member>
-    <Member MemberName="ToStringList">
-      <MemberSignature Language="C#" Value="public static string[] ToStringList (Gdk.Atom encoding, int format, byte[] text, int length);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] ToStringList(class Gdk.Atom encoding, int32 format, unsigned int8[] text, int32 length) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String[]</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="encoding" Type="Gdk.Atom" />
-        <Parameter Name="format" Type="System.Int32" />
-        <Parameter Name="text" Type="System.Byte[]" />
-        <Parameter Name="length" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="encoding">a <see cref="T:Gdk.Atom" /></param>
-        <param name="format">a <see cref="T:System.Int32" /></param>
-        <param name="text">a <see cref="T:System.Byte" /></param>
-        <param name="length">a <see cref="T:System.Int32" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:System.String[]" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
     <Member MemberName="ToStringListForDisplay">
       <MemberSignature Language="C#" Value="public static string[] ToStringListForDisplay (Gdk.Display display, Gdk.Atom encoding, int format, byte[] text, int length);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig string[] ToStringListForDisplay(class Gdk.Display display, class Gdk.Atom encoding, int32 format, unsigned int8[] text, int32 length) cil managed" />
diff --git a/doc/en/Gdk/ToEmbedderArgs.xml b/doc/en/Gdk/ToEmbedderArgs.xml
index e1c30c4..39e14b5 100644
--- a/doc/en/Gdk/ToEmbedderArgs.xml
+++ b/doc/en/Gdk/ToEmbedderArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.ToEmbedder" /> event invokes <see cref="T:Gdk.ToEmbedderHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gdk.ToEmbedderArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gdk.ToEmbedderHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/ToEmbedderHandler.xml b/doc/en/Gdk/ToEmbedderHandler.xml
index 70dbdbd..447e90b 100644
--- a/doc/en/Gdk/ToEmbedderHandler.xml
+++ b/doc/en/Gdk/ToEmbedderHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gdk.Window.ToEmbedder" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gdk.ToEmbedderArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gdk.ToEmbedderHandler" /> to an event, add the ToEmbedderHandler instance to the event.  The methods referenced by the ToEmbedderHandler instance are invoked whenever the event is raised, until the ToEmbedderHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gdk/Trapezoid.xml b/doc/en/Gdk/Trapezoid.xml
deleted file mode 100644
index 93412c2..0000000
--- a/doc/en/Gdk/Trapezoid.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<Type Name="Trapezoid" FullName="Gdk.Trapezoid">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct Trapezoid" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>To be added</summary>
-    <remarks>To be added</remarks>
-    <since version="Gtk# 2.6" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gdk.Trapezoid Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Trapezoid</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Y1">
-      <MemberSignature Language="C#" Value="public double Y1;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X11">
-      <MemberSignature Language="C#" Value="public double X11;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X21">
-      <MemberSignature Language="C#" Value="public double X21;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Y2">
-      <MemberSignature Language="C#" Value="public double Y2;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X12">
-      <MemberSignature Language="C#" Value="public double X12;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="X22">
-      <MemberSignature Language="C#" Value="public double X22;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gdk.Trapezoid New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Trapezoid</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <returns>a <see cref="T:Gdk.Trapezoid" /></returns>
-        <remarks>To be added</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gdk/Window.xml b/doc/en/Gdk/Window.xml
index 41b1682..bfdc993 100644
--- a/doc/en/Gdk/Window.xml
+++ b/doc/en/Gdk/Window.xml
@@ -1062,9 +1062,9 @@ The color must be allocated;
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gdk.Window" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1560,9 +1560,9 @@ The color must be allocated;
       <Docs>
         <param name="width">To be added.</param>
         <param name="height">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gdk.Window.CreateSurface" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Window.CreateSurface" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1589,8 +1589,8 @@ The color must be allocated;
         <param name="embedder_y">To be added.</param>
         <param name="offscreen_x">To be added.</param>
         <param name="offscreen_y">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.Window.FromEmbedder" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Window.FromEmbedder" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1613,9 +1613,9 @@ The color must be allocated;
       <Docs>
         <param name="x">To be added.</param>
         <param name="y">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gdk.Window.PickEmbeddedChild" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Window.PickEmbeddedChild" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1642,8 +1642,8 @@ The color must be allocated;
         <param name="offscreen_y">To be added.</param>
         <param name="embedder_x">To be added.</param>
         <param name="embedder_y">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gdk.Window.ToEmbedder" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gdk.Window.ToEmbedder" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gdk/WindowClass.xml b/doc/en/Gdk/WindowClass.xml
deleted file mode 100644
index fbebcd6..0000000
--- a/doc/en/Gdk/WindowClass.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="WindowClass" FullName="Gdk.WindowClass">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum WindowClass" />
-  <AssemblyInfo>
-    <AssemblyName>gdk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Describes the class of a window.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gdk.WindowClassGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="InputOutput">
-      <MemberSignature Language="C#" Value="InputOutput" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.WindowClass</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>A "normal" window for graphics and events.</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InputOnly">
-      <MemberSignature Language="C#" Value="InputOnly" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.WindowClass</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>
-		Window for events only. These windows are invisible; they are used to trap events, 
-		but can not be drawn on.
-	</summary>
-        <remarks>None.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/AboutDialog.xml b/doc/en/Gtk/AboutDialog.xml
index 302f6d2..63cf9aa 100644
--- a/doc/en/Gtk/AboutDialog.xml
+++ b/doc/en/Gtk/AboutDialog.xml
@@ -363,9 +363,9 @@ If set, this property overrides the <see cref="P:Gtk.AboutDialog.Logo" /> proper
       </Parameters>
       <Docs>
         <param name="uri">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.AboutDialog.ActivateLink" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.AboutDialog.ActivateLink" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/AboutDialogActivateLinkFunc.xml b/doc/en/Gtk/AboutDialogActivateLinkFunc.xml
deleted file mode 100644
index 52a9431..0000000
--- a/doc/en/Gtk/AboutDialogActivateLinkFunc.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<Type Name="AboutDialogActivateLinkFunc" FullName="Gtk.AboutDialogActivateLinkFunc">
-  <TypeSignature Language="C#" Maintainer="Hector E. Gomez Morales" Value="public delegate void AboutDialogActivateLinkFunc(AboutDialog about, string link_);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="about">The  <see cref="T:Gtk.AboutDialog" /> in which the link was activated.</param>
-    <param name="link_">To be added.</param>
-    <summary>The type of the method which is called when a URL or email link in an <see cref="T:Gtk.AboutDialog" />.</summary>
-    <remarks>
-      <example>
-        <para>The following example uses the built in <see cref="Gnome.Url.Show(System.String)" /> to open links:</para>
-        <code lang="C#">	void OpenLink (Gtk.AboutDialog dialog, string link)
-	{
-		Gnome.Url.Show(link);
-	}
-
-	Gtk.AboutDialog.SetUrlHook (new Gtk.AboutDialogActivateLinkFunc (OpenLink));</code>
-      </example>
-    </remarks>
-    <since version="Gtk# 2.6" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Parameters>
-    <Parameter Name="about" Type="Gtk.AboutDialog" />
-    <Parameter Name="link_" Type="System.String" />
-  </Parameters>
-</Type>
diff --git a/doc/en/Gtk/AccelMap.xml b/doc/en/Gtk/AccelMap.xml
index 394ff5b..5951539 100644
--- a/doc/en/Gtk/AccelMap.xml
+++ b/doc/en/Gtk/AccelMap.xml
@@ -297,7 +297,7 @@
       </Docs>
     </Member>
     <Member MemberName="LookupEntry">
-      <MemberSignature Language="C#" Value="public static bool LookupEntry (string accel_path, Gtk.AccelKey key);" />
+      <MemberSignature Language="C#" Value="public static bool LookupEntry (string accel_path, out Gtk.AccelKey key);" />
       <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool LookupEntry(string accel_path, valuetype Gtk.AccelKey key) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
@@ -305,15 +305,15 @@
       </ReturnValue>
       <Parameters>
         <Parameter Name="accel_path" Type="System.String" />
-        <Parameter Name="key" Type="Gtk.AccelKey" />
+        <Parameter Name="key" Type="Gtk.AccelKey&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="accel_path">a <see cref="T:System.String" />, a valid accelerator path</param>
-        <param name="key">a <see cref="T:Gtk.AccelKey" />, the accelerator key to be filled in (optional)</param>
-        <summary>Looks up the accelerator entry for <paramref name="accel_path" /> and fills in <paramref name="key" />.</summary>
-        <returns>a <see cref="T:System.Boolean" />, <see langword="true" /> if <paramref name="accel_path" /> is known, <see langword="false" /> otherwise.</returns>
-        <remarks>
-        </remarks>
+        <param name="accel_path">To be added.</param>
+        <param name="key">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="MapChanged">
diff --git a/doc/en/Gtk/Action.xml b/doc/en/Gtk/Action.xml
index 4ea8cba..42edb68 100644
--- a/doc/en/Gtk/Action.xml
+++ b/doc/en/Gtk/Action.xml
@@ -282,8 +282,8 @@ Since multiple proxies may independently trigger the installation of the acceler
       </Docs>
     </Member>
     <Member MemberName="Gicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Gicon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Gicon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Gicon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Gicon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -291,7 +291,7 @@ Since multiple proxies may independently trigger the installation of the acceler
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/ActivatableAdapter.xml b/doc/en/Gtk/ActivatableAdapter.xml
index a94753a..d1c8dd8 100644
--- a/doc/en/Gtk/ActivatableAdapter.xml
+++ b/doc/en/Gtk/ActivatableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ActivatableAdapter" FullName="Gtk.ActivatableAdapter">
-  <TypeSignature Language="C#" Value="public class ActivatableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.Activatable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActivatableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.Activatable" />
+  <TypeSignature Language="C#" Value="public class ActivatableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IActivatable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ActivatableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IActivatable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ActivatableAdapter (Gtk.ActivatableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ActivatableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ActivatableAdapter (Gtk.IActivatableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IActivatableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.ActivatableImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IActivatableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -78,11 +78,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Activatable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Activatable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IActivatable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IActivatable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Activatable</ReturnType>
+        <ReturnType>Gtk.IActivatable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -96,11 +96,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Activatable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Activatable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IActivatable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IActivatable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Activatable</ReturnType>
+        <ReturnType>Gtk.IActivatable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -115,9 +115,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -144,11 +158,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.ActivatableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ActivatableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IActivatableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IActivatableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.ActivatableImplementor</ReturnType>
+        <ReturnType>Gtk.IActivatableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/ActivateLinkArgs.xml b/doc/en/Gtk/ActivateLinkArgs.xml
index ec1a818..911c2ab 100644
--- a/doc/en/Gtk/ActivateLinkArgs.xml
+++ b/doc/en/Gtk/ActivateLinkArgs.xml
@@ -9,8 +9,29 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:Gtk.ActivateLinkHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:Gtk.AboutDialog.ActivateLink" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.Label.ActivateLink" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.LinkButton.ActivateLink" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +41,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.ActivateLinkArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ActivateLinkHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ActivateLinkHandler.xml b/doc/en/Gtk/ActivateLinkHandler.xml
index bed7a59..123ebbe 100644
--- a/doc/en/Gtk/ActivateLinkHandler.xml
+++ b/doc/en/Gtk/ActivateLinkHandler.xml
@@ -15,10 +15,33 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:Gtk.AboutDialog.ActivateLink" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.Label.ActivateLink" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.LinkButton.ActivateLink" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:Gtk.ActivateLinkArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.ActivateLinkHandler" /> to an event, add the ActivateLinkHandler instance to the event.  The methods referenced by the ActivateLinkHandler instance are invoked whenever the event is raised, until the ActivateLinkHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/AddEditableArgs.xml b/doc/en/Gtk/AddEditableArgs.xml
index 00a0b07..83b16a8 100644
--- a/doc/en/Gtk/AddEditableArgs.xml
+++ b/doc/en/Gtk/AddEditableArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.AddEditable" /> event invokes <see cref="T:Gtk.AddEditableHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.AddEditableArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.AddEditableHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -40,11 +42,11 @@
       </Docs>
     </Member>
     <Member MemberName="P1">
-      <MemberSignature Language="C#" Value="public Gtk.CellEditable P1 { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellEditable P1" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellEditable P1 { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ICellEditable P1" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/AddEditableHandler.xml b/doc/en/Gtk/AddEditableHandler.xml
index cc337e3..3b380c6 100644
--- a/doc/en/Gtk/AddEditableHandler.xml
+++ b/doc/en/Gtk/AddEditableHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.AddEditable" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.AddEditableArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.AddEditableHandler" /> to an event, add the AddEditableHandler instance to the event.  The methods referenced by the AddEditableHandler instance are invoked whenever the event is raised, until the AddEditableHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/AnchorType.xml b/doc/en/Gtk/AnchorType.xml
deleted file mode 100644
index 62b68d1..0000000
--- a/doc/en/Gtk/AnchorType.xml
+++ /dev/null
@@ -1,230 +0,0 @@
-<Type Name="AnchorType" FullName="Gtk.AnchorType">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public enum AnchorType" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A type to indicate an anchor position.</summary>
-    <remarks>
-      <para>Anchors are used to ensure that items, (such as a <see cref="T:Gnome.CanvasWidget" /> , <see cref="T:Gnome.CanvasText" /> or <see cref="T:Gnome.CanvasPixbuf" />), are anchored to their container from a certain direction.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.AnchorTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Center">
-      <MemberSignature Language="C#" Value="Center" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be centrally anchored.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="North">
-      <MemberSignature Language="C#" Value="North" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the north.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="NorthWest">
-      <MemberSignature Language="C#" Value="NorthWest" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the north west.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="NorthEast">
-      <MemberSignature Language="C#" Value="NorthEast" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the north east.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="South">
-      <MemberSignature Language="C#" Value="South" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the south.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SouthWest">
-      <MemberSignature Language="C#" Value="SouthWest" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the south west.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SouthEast">
-      <MemberSignature Language="C#" Value="SouthEast" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the south east.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="West">
-      <MemberSignature Language="C#" Value="West" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the left.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="East">
-      <MemberSignature Language="C#" Value="East" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that an item should be anchored to the right.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="N">
-      <MemberSignature Language="C#" Value="N" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.North" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Nw">
-      <MemberSignature Language="C#" Value="Nw" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.NorthWest" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Ne">
-      <MemberSignature Language="C#" Value="Ne" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.NorthEast" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="S">
-      <MemberSignature Language="C#" Value="S" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.South" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Sw">
-      <MemberSignature Language="C#" Value="Sw" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.SouthWest" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Se">
-      <MemberSignature Language="C#" Value="Se" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.SouthEast" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="W">
-      <MemberSignature Language="C#" Value="W" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.West" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="E">
-      <MemberSignature Language="C#" Value="E" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.AnchorType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An alias for the <see cref="P:Gtk.AnchorType.East" /> value.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/AppChooserAdapter.xml b/doc/en/Gtk/AppChooserAdapter.xml
index fd8e0f8..a1b57da 100644
--- a/doc/en/Gtk/AppChooserAdapter.xml
+++ b/doc/en/Gtk/AppChooserAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="AppChooserAdapter" FullName="Gtk.AppChooserAdapter">
-  <TypeSignature Language="C#" Value="public class AppChooserAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.AppChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.AppChooser" />
+  <TypeSignature Language="C#" Value="public class AppChooserAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IAppChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IAppChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.AppChooser</InterfaceName>
+      <InterfaceName>Gtk.IAppChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -36,11 +36,11 @@
       </Docs>
     </Member>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -64,11 +64,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.AppChooser GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.AppChooser GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IAppChooser GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IAppChooser GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.AppChooser</ReturnType>
+        <ReturnType>Gtk.IAppChooser</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -82,11 +82,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.AppChooser GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.AppChooser GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IAppChooser GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IAppChooser GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.AppChooser</ReturnType>
+        <ReturnType>Gtk.IAppChooser</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -101,9 +101,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
diff --git a/doc/en/Gtk/AppChooserButton.xml b/doc/en/Gtk/AppChooserButton.xml
index 292cc8f..4c72491 100644
--- a/doc/en/Gtk/AppChooserButton.xml
+++ b/doc/en/Gtk/AppChooserButton.xml
@@ -1,6 +1,6 @@
 <Type Name="AppChooserButton" FullName="Gtk.AppChooserButton">
-  <TypeSignature Language="C#" Value="public class AppChooserButton : Gtk.ComboBox, Gtk.AppChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserButton extends Gtk.ComboBox implements class GLib.IWrapper, class Gtk.AppChooser" />
+  <TypeSignature Language="C#" Value="public class AppChooserButton : Gtk.ComboBox, Gtk.IAppChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserButton extends Gtk.ComboBox implements class GLib.IWrapper, class Gtk.IAppChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.AppChooser</InterfaceName>
+      <InterfaceName>Gtk.IAppChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -61,8 +61,8 @@
       </Docs>
     </Member>
     <Member MemberName="AppendCustomItem">
-      <MemberSignature Language="C#" Value="public void AppendCustomItem (string name, string label, GLib.Icon icon);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AppendCustomItem(string name, string label, class GLib.Icon icon) cil managed" />
+      <MemberSignature Language="C#" Value="public void AppendCustomItem (string name, string label, GLib.IIcon icon);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AppendCustomItem(string name, string label, class GLib.IIcon icon) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
@@ -70,7 +70,7 @@
       <Parameters>
         <Parameter Name="name" Type="System.String" />
         <Parameter Name="label" Type="System.String" />
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="name">To be added.</param>
@@ -96,11 +96,11 @@
       </Docs>
     </Member>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -149,9 +149,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.AppChooserButton" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -191,8 +191,8 @@
       </Parameters>
       <Docs>
         <param name="item_name">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.AppChooserButton.CustomItemActivated" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.AppChooserButton.CustomItemActivated" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/AppChooserDialog.xml b/doc/en/Gtk/AppChooserDialog.xml
index 5296ccc..f2527ca 100644
--- a/doc/en/Gtk/AppChooserDialog.xml
+++ b/doc/en/Gtk/AppChooserDialog.xml
@@ -1,6 +1,6 @@
 <Type Name="AppChooserDialog" FullName="Gtk.AppChooserDialog">
-  <TypeSignature Language="C#" Value="public class AppChooserDialog : Gtk.Dialog, Gtk.AppChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserDialog extends Gtk.Dialog implements class GLib.IWrapper, class Gtk.AppChooser" />
+  <TypeSignature Language="C#" Value="public class AppChooserDialog : Gtk.Dialog, Gtk.IAppChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserDialog extends Gtk.Dialog implements class GLib.IWrapper, class Gtk.IAppChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.AppChooser</InterfaceName>
+      <InterfaceName>Gtk.IAppChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,20 +26,20 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public AppChooserDialog (Gtk.Window parent, Gtk.DialogFlags flags, GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.Window parent, valuetype Gtk.DialogFlags flags, class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public AppChooserDialog (Gtk.Window parent, Gtk.DialogFlags flags, GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.Window parent, valuetype Gtk.DialogFlags flags, class GLib.IFile file) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
         <Parameter Name="parent" Type="Gtk.Window" />
         <Parameter Name="flags" Type="Gtk.DialogFlags" />
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="parent">To be added.</param>
@@ -69,11 +69,11 @@
       </Docs>
     </Member>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -97,8 +97,8 @@
       </Docs>
     </Member>
     <Member MemberName="Gfile">
-      <MemberSignature Language="C#" Value="public GLib.File Gfile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File Gfile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile Gfile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile Gfile" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -106,7 +106,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -123,9 +123,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.AppChooserDialog" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/AppChooserWidget.xml b/doc/en/Gtk/AppChooserWidget.xml
index edd1005..aa78e35 100644
--- a/doc/en/Gtk/AppChooserWidget.xml
+++ b/doc/en/Gtk/AppChooserWidget.xml
@@ -1,6 +1,6 @@
 <Type Name="AppChooserWidget" FullName="Gtk.AppChooserWidget">
-  <TypeSignature Language="C#" Value="public class AppChooserWidget : Gtk.Box, Gtk.AppChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserWidget extends Gtk.Box implements class GLib.IWrapper, class Gtk.AppChooser" />
+  <TypeSignature Language="C#" Value="public class AppChooserWidget : Gtk.Box, Gtk.IAppChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit AppChooserWidget extends Gtk.Box implements class GLib.IWrapper, class Gtk.IAppChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.AppChooser</InterfaceName>
+      <InterfaceName>Gtk.IAppChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,11 +47,11 @@
       </Docs>
     </Member>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -137,15 +137,15 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.AppChooserWidget" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnApplicationActivated">
-      <MemberSignature Language="C#" Value="protected virtual void OnApplicationActivated (GLib.AppInfo app_info);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnApplicationActivated(class GLib.AppInfo app_info) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnApplicationActivated (GLib.IAppInfo app_info);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnApplicationActivated(class GLib.IAppInfo app_info) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -156,18 +156,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="app_info" Type="GLib.AppInfo" />
+        <Parameter Name="app_info" Type="GLib.IAppInfo" />
       </Parameters>
       <Docs>
         <param name="app_info">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.AppChooserWidget.ApplicationActivated" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.AppChooserWidget.ApplicationActivated" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnApplicationSelected">
-      <MemberSignature Language="C#" Value="protected virtual void OnApplicationSelected (GLib.AppInfo app_info);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnApplicationSelected(class GLib.AppInfo app_info) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnApplicationSelected (GLib.IAppInfo app_info);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnApplicationSelected(class GLib.IAppInfo app_info) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -178,18 +178,18 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="app_info" Type="GLib.AppInfo" />
+        <Parameter Name="app_info" Type="GLib.IAppInfo" />
       </Parameters>
       <Docs>
         <param name="app_info">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.AppChooserWidget.ApplicationSelected" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.AppChooserWidget.ApplicationSelected" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnPopulatePopup">
-      <MemberSignature Language="C#" Value="protected virtual void OnPopulatePopup (Gtk.Menu menu, GLib.AppInfo app_info);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnPopulatePopup(class Gtk.Menu menu, class GLib.AppInfo app_info) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnPopulatePopup (Gtk.Menu menu, GLib.IAppInfo app_info);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnPopulatePopup(class Gtk.Menu menu, class GLib.IAppInfo app_info) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -201,13 +201,13 @@
       </ReturnValue>
       <Parameters>
         <Parameter Name="menu" Type="Gtk.Menu" />
-        <Parameter Name="app_info" Type="GLib.AppInfo" />
+        <Parameter Name="app_info" Type="GLib.IAppInfo" />
       </Parameters>
       <Docs>
         <param name="menu">To be added.</param>
         <param name="app_info">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.AppChooserWidget.PopulatePopup" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.AppChooserWidget.PopulatePopup" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Application.xml b/doc/en/Gtk/Application.xml
index 41df7d4..2cf1c06 100644
--- a/doc/en/Gtk/Application.xml
+++ b/doc/en/Gtk/Application.xml
@@ -59,9 +59,9 @@ public class HelloWorld  {
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -155,9 +155,9 @@ void LongComputation ()
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Application" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ApplicationActivatedArgs.xml b/doc/en/Gtk/ApplicationActivatedArgs.xml
index cf0060e..5eb927d 100644
--- a/doc/en/Gtk/ApplicationActivatedArgs.xml
+++ b/doc/en/Gtk/ApplicationActivatedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.AppChooserWidget.ApplicationActivated" /> event invokes <see cref="T:Gtk.ApplicationActivatedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.ApplicationActivatedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ApplicationActivatedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/ApplicationActivatedHandler.xml b/doc/en/Gtk/ApplicationActivatedHandler.xml
index 0d3dfa8..8f8b60c 100644
--- a/doc/en/Gtk/ApplicationActivatedHandler.xml
+++ b/doc/en/Gtk/ApplicationActivatedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.AppChooserWidget.ApplicationActivated" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.ApplicationActivatedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.ApplicationActivatedHandler" /> to an event, add the ApplicationActivatedHandler instance to the event.  The methods referenced by the ApplicationActivatedHandler instance are invoked whenever the event is raised, until the ApplicationActivatedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/ApplicationSelectedArgs.xml b/doc/en/Gtk/ApplicationSelectedArgs.xml
index 3255ea1..af26aea 100644
--- a/doc/en/Gtk/ApplicationSelectedArgs.xml
+++ b/doc/en/Gtk/ApplicationSelectedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.AppChooserWidget.ApplicationSelected" /> event invokes <see cref="T:Gtk.ApplicationSelectedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,17 +22,17 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.ApplicationSelectedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ApplicationSelectedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/ApplicationSelectedHandler.xml b/doc/en/Gtk/ApplicationSelectedHandler.xml
index ebb8813..4df8be3 100644
--- a/doc/en/Gtk/ApplicationSelectedHandler.xml
+++ b/doc/en/Gtk/ApplicationSelectedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.AppChooserWidget.ApplicationSelected" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.ApplicationSelectedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.ApplicationSelectedHandler" /> to an event, add the ApplicationSelectedHandler instance to the event.  The methods referenced by the ApplicationSelectedHandler instance are invoked whenever the event is raised, until the ApplicationSelectedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Arg.xml b/doc/en/Gtk/Arg.xml
deleted file mode 100644
index 7c35919..0000000
--- a/doc/en/Gtk/Arg.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<Type Name="Arg" FullName="Gtk.Arg">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct Arg" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Do not use.</summary>
-    <remarks>This class's C version is only used internally by gtkobject.c.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.Arg Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Arg</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public GLib.GType Type;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Name">
-      <MemberSignature Language="C#" Value="public string Name;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="CharData">
-      <MemberSignature Language="C#" Value="public string CharData;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.Arg New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Arg</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <returns>a <see cref="T:Gtk.Arg" /></returns>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-</Type>
diff --git a/doc/en/Gtk/Assistant.xml b/doc/en/Gtk/Assistant.xml
index 46e20e1..06474d2 100644
--- a/doc/en/Gtk/Assistant.xml
+++ b/doc/en/Gtk/Assistant.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddActionWidget">
@@ -271,9 +271,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Assistant" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="InsertPage">
@@ -354,8 +354,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Assistant.Apply" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Assistant.Apply" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnCancel">
@@ -372,8 +372,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Assistant.Cancel" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Assistant.Cancel" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnClose">
@@ -390,8 +390,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Assistant.Close" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Assistant.Close" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnPrepare">
@@ -411,8 +411,8 @@
       </Parameters>
       <Docs>
         <param name="page">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Assistant.Prepare" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Assistant.Prepare" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Prepare">
diff --git a/doc/en/Gtk/AttributesAppliedArgs.xml b/doc/en/Gtk/AttributesAppliedArgs.xml
index 698fa0e..dc5f1a4 100644
--- a/doc/en/Gtk/AttributesAppliedArgs.xml
+++ b/doc/en/Gtk/AttributesAppliedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.AttributesApplied" /> event invokes <see cref="T:Gtk.AttributesAppliedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.AttributesAppliedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.AttributesAppliedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -68,11 +70,11 @@
       </Docs>
     </Member>
     <Member MemberName="TreeModel">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel TreeModel { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel TreeModel" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel TreeModel { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel TreeModel" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/AttributesAppliedHandler.xml b/doc/en/Gtk/AttributesAppliedHandler.xml
index 9adcf06..6fd4476 100644
--- a/doc/en/Gtk/AttributesAppliedHandler.xml
+++ b/doc/en/Gtk/AttributesAppliedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.AttributesApplied" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.AttributesAppliedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.AttributesAppliedHandler" /> to an event, add the AttributesAppliedHandler instance to the event.  The methods referenced by the AttributesAppliedHandler instance are invoked whenever the event is raised, until the AttributesAppliedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Box.xml b/doc/en/Gtk/Box.xml
index 3d7904a..9209496 100644
--- a/doc/en/Gtk/Box.xml
+++ b/doc/en/Gtk/Box.xml
@@ -1,6 +1,6 @@
 <Type Name="Box" FullName="Gtk.Box">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Box : Gtk.Container, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Box extends Gtk.Container implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Box : Gtk.Container, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Box extends Gtk.Container implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/Builder.xml b/doc/en/Gtk/Builder.xml
index 7e235d2..817939b 100644
--- a/doc/en/Gtk/Builder.xml
+++ b/doc/en/Gtk/Builder.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -279,9 +279,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Builder" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Objects">
diff --git a/doc/en/Gtk/Button.xml b/doc/en/Gtk/Button.xml
index fe7e932..f96ce0a 100644
--- a/doc/en/Gtk/Button.xml
+++ b/doc/en/Gtk/Button.xml
@@ -1,6 +1,6 @@
 <Type Name="Button" FullName="Gtk.Button">
-  <TypeSignature Language="C#" Maintainer="Duncan Mak" Value="public class Button : Gtk.Bin, Gtk.Activatable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Button extends Gtk.Bin implements class GLib.IWrapper, class Gtk.Activatable" />
+  <TypeSignature Language="C#" Maintainer="Duncan Mak" Value="public class Button : Gtk.Bin, Gtk.IActivatable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Button extends Gtk.Bin implements class GLib.IWrapper, class Gtk.IActivatable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/CallbackMarshal.xml b/doc/en/Gtk/CallbackMarshal.xml
deleted file mode 100644
index 16bc945..0000000
--- a/doc/en/Gtk/CallbackMarshal.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="CallbackMarshal" FullName="Gtk.CallbackMarshal">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CallbackMarshal(Object objekt, IntPtr data, uint n_args, Arg args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="objekt">To be added.</param>
-    <param name="data">To be added.</param>
-    <param name="n_args">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Delegate for specifying a function signature for marshalling callbacks.</summary>
-    <remarks>FIXME: provide an example here</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="objekt" Type="Gtk.Object" />
-    <Parameter Name="data" Type="System.IntPtr" />
-    <Parameter Name="n_args" Type="System.UInt32" />
-    <Parameter Name="args" Type="Gtk.Arg" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/CellArea.xml b/doc/en/Gtk/CellArea.xml
index 4f98487..3a6f39e 100644
--- a/doc/en/Gtk/CellArea.xml
+++ b/doc/en/Gtk/CellArea.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -146,14 +146,14 @@
       </Docs>
     </Member>
     <Member MemberName="ApplyAttributes">
-      <MemberSignature Language="C#" Value="public void ApplyAttributes (Gtk.TreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ApplyAttributes(class Gtk.TreeModel tree_model, valuetype Gtk.TreeIter iter, bool is_expander, bool is_expanded) cil managed" />
+      <MemberSignature Language="C#" Value="public void ApplyAttributes (Gtk.ITreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ApplyAttributes(class Gtk.ITreeModel tree_model, valuetype Gtk.TreeIter iter, bool is_expander, bool is_expanded) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="tree_model" Type="Gtk.TreeModel" />
+        <Parameter Name="tree_model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
         <Parameter Name="is_expander" Type="System.Boolean" />
         <Parameter Name="is_expanded" Type="System.Boolean" />
@@ -377,8 +377,8 @@
       </Docs>
     </Member>
     <Member MemberName="EditWidget">
-      <MemberSignature Language="C#" Value="public Gtk.CellEditable EditWidget { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellEditable EditWidget" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellEditable EditWidget { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ICellEditable EditWidget" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -386,7 +386,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -590,11 +590,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetFocusSiblings">
-      <MemberSignature Language="C#" Value="public GLib.List GetFocusSiblings (Gtk.CellRenderer renderer);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List GetFocusSiblings(class Gtk.CellRenderer renderer) cil managed" />
+      <MemberSignature Language="C#" Value="public Gtk.CellRenderer[] GetFocusSiblings (Gtk.CellRenderer renderer);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.CellRenderer[] GetFocusSiblings(class Gtk.CellRenderer renderer) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>Gtk.CellRenderer[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="renderer" Type="Gtk.CellRenderer" />
@@ -711,9 +711,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CellArea" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -844,8 +844,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnAddEditable">
-      <MemberSignature Language="C#" Value="protected virtual void OnAddEditable (Gtk.CellRenderer p0, Gtk.CellEditable p1, Gdk.Rectangle p2, string p3);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAddEditable(class Gtk.CellRenderer p0, class Gtk.CellEditable p1, valuetype Gdk.Rectangle p2, string p3) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnAddEditable (Gtk.CellRenderer p0, Gtk.ICellEditable p1, Gdk.Rectangle p2, string p3);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAddEditable(class Gtk.CellRenderer p0, class Gtk.ICellEditable p1, valuetype Gdk.Rectangle p2, string p3) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -857,7 +857,7 @@
       </ReturnValue>
       <Parameters>
         <Parameter Name="p0" Type="Gtk.CellRenderer" />
-        <Parameter Name="p1" Type="Gtk.CellEditable" />
+        <Parameter Name="p1" Type="Gtk.ICellEditable" />
         <Parameter Name="p2" Type="Gdk.Rectangle" />
         <Parameter Name="p3" Type="System.String" />
       </Parameters>
@@ -866,14 +866,14 @@
         <param name="p1">To be added.</param>
         <param name="p2">To be added.</param>
         <param name="p3">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellArea.AddEditable" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellArea.AddEditable" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnAttributesApplied">
-      <MemberSignature Language="C#" Value="protected virtual void OnAttributesApplied (Gtk.TreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAttributesApplied(class Gtk.TreeModel tree_model, valuetype Gtk.TreeIter iter, bool is_expander, bool is_expanded) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnAttributesApplied (Gtk.ITreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnAttributesApplied(class Gtk.ITreeModel tree_model, valuetype Gtk.TreeIter iter, bool is_expander, bool is_expanded) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -884,7 +884,7 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="tree_model" Type="Gtk.TreeModel" />
+        <Parameter Name="tree_model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
         <Parameter Name="is_expander" Type="System.Boolean" />
         <Parameter Name="is_expanded" Type="System.Boolean" />
@@ -894,8 +894,8 @@
         <param name="iter">To be added.</param>
         <param name="is_expander">To be added.</param>
         <param name="is_expanded">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellArea.AttributesApplied" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellArea.AttributesApplied" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1015,8 +1015,8 @@
       <Docs>
         <param name="p0">To be added.</param>
         <param name="p1">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellArea.FocusChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellArea.FocusChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1279,8 +1279,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnRemoveEditable">
-      <MemberSignature Language="C#" Value="protected virtual void OnRemoveEditable (Gtk.CellRenderer p0, Gtk.CellEditable p1);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRemoveEditable(class Gtk.CellRenderer p0, class Gtk.CellEditable p1) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnRemoveEditable (Gtk.CellRenderer p0, Gtk.ICellEditable p1);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnRemoveEditable(class Gtk.CellRenderer p0, class Gtk.ICellEditable p1) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -1292,13 +1292,13 @@
       </ReturnValue>
       <Parameters>
         <Parameter Name="p0" Type="Gtk.CellRenderer" />
-        <Parameter Name="p1" Type="Gtk.CellEditable" />
+        <Parameter Name="p1" Type="Gtk.ICellEditable" />
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
         <param name="p1">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellArea.RemoveEditable" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellArea.RemoveEditable" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CellAreaBox.xml b/doc/en/Gtk/CellAreaBox.xml
index b2f14f7..11bded9 100644
--- a/doc/en/Gtk/CellAreaBox.xml
+++ b/doc/en/Gtk/CellAreaBox.xml
@@ -1,6 +1,6 @@
 <Type Name="CellAreaBox" FullName="Gtk.CellAreaBox">
-  <TypeSignature Language="C#" Value="public class CellAreaBox : Gtk.CellArea, Gtk.CellLayout, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CellAreaBox extends Gtk.CellArea implements class GLib.IWrapper, class Gtk.CellLayout, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Value="public class CellAreaBox : Gtk.CellArea, Gtk.ICellLayout, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CellAreaBox extends Gtk.CellArea implements class GLib.IWrapper, class Gtk.ICellLayout, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -40,9 +40,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -134,9 +134,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CellAreaBox" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CellAreaContext.xml b/doc/en/Gtk/CellAreaContext.xml
index 1c77016..5ac66d6 100644
--- a/doc/en/Gtk/CellAreaContext.xml
+++ b/doc/en/Gtk/CellAreaContext.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -184,9 +184,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CellAreaContext" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CellEditableAdapter.xml b/doc/en/Gtk/CellEditableAdapter.xml
index 0b24e2a..6f75fd4 100644
--- a/doc/en/Gtk/CellEditableAdapter.xml
+++ b/doc/en/Gtk/CellEditableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="CellEditableAdapter" FullName="Gtk.CellEditableAdapter">
-  <TypeSignature Language="C#" Value="public class CellEditableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.CellEditable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi CellEditableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.CellEditable" />
+  <TypeSignature Language="C#" Value="public class CellEditableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ICellEditable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi CellEditableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ICellEditable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.CellEditable</InterfaceName>
+      <InterfaceName>Gtk.ICellEditable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CellEditableAdapter (Gtk.CellEditableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.CellEditableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public CellEditableAdapter (Gtk.ICellEditableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ICellEditableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.CellEditableImplementor" />
+        <Parameter Name="implementor" Type="Gtk.ICellEditableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -89,11 +90,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.CellEditable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.CellEditable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ICellEditable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ICellEditable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -107,11 +108,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.CellEditable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.CellEditable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ICellEditable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ICellEditable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -123,11 +124,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -154,11 +170,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.CellEditableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellEditableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellEditableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ICellEditableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditableImplementor</ReturnType>
+        <ReturnType>Gtk.ICellEditableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/CellLayoutAdapter.xml b/doc/en/Gtk/CellLayoutAdapter.xml
index 4b7402c..374731a 100644
--- a/doc/en/Gtk/CellLayoutAdapter.xml
+++ b/doc/en/Gtk/CellLayoutAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="CellLayoutAdapter" FullName="Gtk.CellLayoutAdapter">
-  <TypeSignature Language="C#" Value="public class CellLayoutAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.CellLayout" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi CellLayoutAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.CellLayout" />
+  <TypeSignature Language="C#" Value="public class CellLayoutAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ICellLayout" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi CellLayoutAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ICellLayout" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CellLayoutAdapter (Gtk.CellLayoutImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.CellLayoutImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public CellLayoutAdapter (Gtk.ICellLayoutImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ICellLayoutImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.CellLayoutImplementor" />
+        <Parameter Name="implementor" Type="Gtk.ICellLayoutImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -135,11 +136,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.CellLayout GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.CellLayout GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ICellLayout GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ICellLayout GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellLayout</ReturnType>
+        <ReturnType>Gtk.ICellLayout</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -153,11 +154,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.CellLayout GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.CellLayout GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ICellLayout GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ICellLayout GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellLayout</ReturnType>
+        <ReturnType>Gtk.ICellLayout</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -169,11 +170,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -200,11 +216,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.CellLayoutImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellLayoutImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellLayoutImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ICellLayoutImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellLayoutImplementor</ReturnType>
+        <ReturnType>Gtk.ICellLayoutImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/CellLayoutDataFunc.xml b/doc/en/Gtk/CellLayoutDataFunc.xml
index fa03c3e..5a5139e 100644
--- a/doc/en/Gtk/CellLayoutDataFunc.xml
+++ b/doc/en/Gtk/CellLayoutDataFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="CellLayoutDataFunc" FullName="Gtk.CellLayoutDataFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CellLayoutDataFunc(CellLayout cell_layout, CellRenderer cell, TreeModel tree_model, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CellLayoutDataFunc(ICellLayout cell_layout, CellRenderer cell, ITreeModel tree_model, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed CellLayoutDataFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -10,9 +10,9 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="cell_layout" Type="Gtk.CellLayout" />
+    <Parameter Name="cell_layout" Type="Gtk.ICellLayout" />
     <Parameter Name="cell" Type="Gtk.CellRenderer" />
-    <Parameter Name="tree_model" Type="Gtk.TreeModel" />
+    <Parameter Name="tree_model" Type="Gtk.ITreeModel" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
   <ReturnValue>
diff --git a/doc/en/Gtk/CellRenderer.xml b/doc/en/Gtk/CellRenderer.xml
index 864a31d..408294c 100644
--- a/doc/en/Gtk/CellRenderer.xml
+++ b/doc/en/Gtk/CellRenderer.xml
@@ -588,8 +588,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnEditingStarted">
-      <MemberSignature Language="C#" Value="protected virtual void OnEditingStarted (Gtk.CellEditable editable, string path);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnEditingStarted(class Gtk.CellEditable editable, string path) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnEditingStarted (Gtk.ICellEditable editable, string path);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnEditingStarted(class Gtk.ICellEditable editable, string path) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -600,15 +600,15 @@
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="editable" Type="Gtk.CellEditable" />
+        <Parameter Name="editable" Type="Gtk.ICellEditable" />
         <Parameter Name="path" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="editable">a <see cref="T:Gtk.CellEditable" /></param>
-        <param name="path">a <see cref="T:System.String" /></param>
+        <param name="editable">To be added.</param>
+        <param name="path">To be added.</param>
         <summary>Default handler for the <see cref="M:Gtk.CellRenderer.EditingStarted" /> event.</summary>
         <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellRenderer.EditingStarted" /> event.</remarks>
-        <since version="Gtk# 2.6" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnGetAlignedArea">
@@ -830,8 +830,8 @@
       </Docs>
     </Member>
     <Member MemberName="OnStartEditing">
-      <MemberSignature Language="C#" Value="protected virtual Gtk.CellEditable OnStartEditing (Gdk.Event evnt, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class Gtk.CellEditable OnStartEditing(class Gdk.Event evnt, class Gtk.Widget widget, string path, valuetype Gdk.Rectangle background_area, valuetype Gdk.Rectangle cell_area, valuetype Gtk.CellRendererState flags) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual Gtk.ICellEditable OnStartEditing (Gdk.Event evnt, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class Gtk.ICellEditable OnStartEditing(class Gdk.Event evnt, class Gtk.Widget widget, string path, valuetype Gdk.Rectangle background_area, valuetype Gdk.Rectangle cell_area, valuetype Gtk.CellRendererState flags) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -839,7 +839,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="evnt" Type="Gdk.Event" />
@@ -1005,11 +1005,11 @@
       </Docs>
     </Member>
     <Member MemberName="StartEditing">
-      <MemberSignature Language="C#" Value="public Gtk.CellEditable StartEditing (Gtk.Widget widget, Gdk.Event evnt, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.CellEditable StartEditing(class Gtk.Widget widget, class Gdk.Event evnt, string path, valuetype Gdk.Rectangle background_area, valuetype Gdk.Rectangle cell_area, valuetype Gtk.CellRendererState flags) cil managed" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellEditable StartEditing (Gtk.Widget widget, Gdk.Event evnt, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.ICellEditable StartEditing(class Gtk.Widget widget, class Gdk.Event evnt, string path, valuetype Gdk.Rectangle background_area, valuetype Gdk.Rectangle cell_area, valuetype Gtk.CellRendererState flags) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="widget" Type="Gtk.Widget" />
diff --git a/doc/en/Gtk/CellRendererAccel.xml b/doc/en/Gtk/CellRendererAccel.xml
index 2b8fe71..0c46e07 100644
--- a/doc/en/Gtk/CellRendererAccel.xml
+++ b/doc/en/Gtk/CellRendererAccel.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AccelCleared">
@@ -133,9 +133,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CellRendererAccel" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Keycode">
@@ -173,8 +173,8 @@
       </Parameters>
       <Docs>
         <param name="path_string">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellRendererAccel.AccelCleared" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellRendererAccel.AccelCleared" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnAccelEdited">
@@ -200,8 +200,8 @@
         <param name="accel_key">To be added.</param>
         <param name="accel_mods">To be added.</param>
         <param name="hardware_keycode">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellRendererAccel.AccelEdited" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellRendererAccel.AccelEdited" /> event.</remarks>
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/CellRendererCombo.xml b/doc/en/Gtk/CellRendererCombo.xml
index bf9074b..8a7d571 100644
--- a/doc/en/Gtk/CellRendererCombo.xml
+++ b/doc/en/Gtk/CellRendererCombo.xml
@@ -97,8 +97,8 @@ The combo cell renderer takes care of adding a text cell renderer to the combo b
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -106,7 +106,7 @@ The combo cell renderer takes care of adding a text cell renderer to the combo b
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -134,8 +134,8 @@ The combo cell renderer takes care of adding a text cell renderer to the combo b
       <Docs>
         <param name="p0">To be added.</param>
         <param name="p1">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.CellRendererCombo.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.CellRendererCombo.Changed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CellRendererPixbuf.xml b/doc/en/Gtk/CellRendererPixbuf.xml
index 23d8f43..9f8ca2b 100644
--- a/doc/en/Gtk/CellRendererPixbuf.xml
+++ b/doc/en/Gtk/CellRendererPixbuf.xml
@@ -78,8 +78,8 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -87,7 +87,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/CellRendererProgress.xml b/doc/en/Gtk/CellRendererProgress.xml
index 0d67fe0..87e626d 100644
--- a/doc/en/Gtk/CellRendererProgress.xml
+++ b/doc/en/Gtk/CellRendererProgress.xml
@@ -1,6 +1,6 @@
 <Type Name="CellRendererProgress" FullName="Gtk.CellRendererProgress">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class CellRendererProgress : Gtk.CellRenderer, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CellRendererProgress extends Gtk.CellRenderer implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class CellRendererProgress : Gtk.CellRenderer, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CellRendererProgress extends Gtk.CellRenderer implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,7 +11,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/CellRendererSpinner.xml b/doc/en/Gtk/CellRendererSpinner.xml
index ef00fe7..f37b40b 100644
--- a/doc/en/Gtk/CellRendererSpinner.xml
+++ b/doc/en/Gtk/CellRendererSpinner.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -66,9 +66,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CellRendererSpinner" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CellView.xml b/doc/en/Gtk/CellView.xml
index 55b06dd..b51890d 100644
--- a/doc/en/Gtk/CellView.xml
+++ b/doc/en/Gtk/CellView.xml
@@ -1,6 +1,6 @@
 <Type Name="CellView" FullName="Gtk.CellView">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class CellView : Gtk.Widget, Gtk.CellLayout, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CellView extends Gtk.Widget implements class GLib.IWrapper, class Gtk.CellLayout, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class CellView : Gtk.Widget, Gtk.ICellLayout, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CellView extends Gtk.Widget implements class GLib.IWrapper, class Gtk.ICellLayout, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,10 +11,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -377,8 +377,8 @@
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -386,7 +386,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>Sets the model for the CellView.</summary>
diff --git a/doc/en/Gtk/ClientEventArgs.xml b/doc/en/Gtk/ClientEventArgs.xml
deleted file mode 100644
index 3820c2b..0000000
--- a/doc/en/Gtk/ClientEventArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="ClientEventArgs" FullName="Gtk.ClientEventArgs">
-  <TypeSignature Language="C#" Value="public class ClientEventArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.ClientEvent" /> event invokes <see cref="T:Gtk.ClientEventHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ClientEventArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.ClientEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ClientEventHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Event">
-      <MemberSignature Language="C#" Value="public Gdk.EventClient Event { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.EventClient</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Get the event that was received from another application.</summary>
-        <value>A <see cref="T:Gdk.EventClient" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ClientEventHandler.xml b/doc/en/Gtk/ClientEventHandler.xml
deleted file mode 100644
index ea81e23..0000000
--- a/doc/en/Gtk/ClientEventHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="ClientEventHandler" FullName="Gtk.ClientEventHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ClientEventHandler(object o, ClientEventArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.ClientEvent" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.ClientEventArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.ClientEventHandler" /> to an event, add the ClientEventHandler instance to the event.  The methods referenced by the ClientEventHandler instance are invoked whenever the event is raised, until the ClientEventHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ClientEventArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Combo.xml b/doc/en/Gtk/Combo.xml
deleted file mode 100644
index ecd42c1..0000000
--- a/doc/en/Gtk/Combo.xml
+++ /dev/null
@@ -1,375 +0,0 @@
-<Type Name="Combo" FullName="Gtk.Combo">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class Combo : Gtk.HBox" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A text entry field with a dropdown list</summary>
-    <remarks>
-      <para>
-        The <see cref="T:Gtk.Combo" /> widget consists of a single-line text entry field and a
-        drop-down list. The drop-down list is displayed when the user clicks
-        on a small arrow button to the right of the entry field.
-      </para>
-      <para>
-        The drop-down list is a <see cref="T:Glib.List" /> widget and can be accessed using the
-        list member of the <see cref="T:Gtk.Combo" />. List elements can contain arbitrary
-        widgets, but if an element is not a plain label, then you must use
-        the <see cref="M:Glib.List.SetItemString()" /> function. This sets the string which
-        will be placed in the text entry field when the item is selected.
-      </para>
-      <para>
-        By default, the user can step through the items in the list using the
-        arrow (cursor) keys, though this behaviour can be turned off with
-        <see cref="P:Gtk.Combo.UseArrows" /> = <see langword="false" />.
-      </para>
-      <example>
-        <para>
-          Creating a <see cref="T:Gtk.Combo" /> widget with simple text items:
-        </para>
-        <code lang="c#">
-using System;
-using Gtk;
-
-class ComboSample
-{
-	Combo combo;
-	
-	static void Main ()
-	{
-		new ComboSample ();	
-	}
-	
-	ComboSample ()
-	{
-		Application.Init ();
-	
-		Window win = new Window ("ComboSample");
-		win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
-
-		string[] list = new string[] {"one", "two", "three"};
-		
-		combo = new Combo ();
-		combo.PopdownStrings = list;
-		combo.DisableActivate ();
-		combo.Entry.Activated += new EventHandler (OnEntryActivated);
-		
-		win.Add (combo);
-	
-		win.ShowAll ();
-		Application.Run ();
-	}
-	
-	void OnEntryActivated (object o, EventArgs args)
-	{
-		Console.WriteLine (combo.Entry.Text);
-	}
-	
-	void OnWinDelete (object obj, DeleteEventArgs args)
-	{
-		Application.Quit ();
-	}
-}
-        </code>
-      </example>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.HBox</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="SetItemString">
-      <MemberSignature Language="C#" Value="public void SetItemString (Gtk.Item item, string item_value);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="item" Type="Gtk.Item" />
-        <Parameter Name="item_value" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Sets the string to place in the <see cref="T:Gtk.Entry" /> field when a particular list item is selected.</summary>
-        <param name="item">an object of type <see cref="T:Gtk.Item" /></param>
-        <param name="item_value">an object of type <see cref="T:System.String" /></param>
-        <remarks>This is not needed if the list item is a simple <see cref="T:Gtk.Label" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DisableActivate">
-      <MemberSignature Language="C#" Value="public void DisableActivate ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Disables showing the popup list on the activate event.</summary>
-        <remarks>Stops the <see cref="T:Gtk.Combo" /> widget from showing the popup list when the <see cref="T:Gtk.Entry" /> emits the <see cref="E:Gtk.Entry.Activate" /> event, i.e. when the Return key is pressed.
-			This may be useful if, for example, you want the Return key to close a dialog instead.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Combo (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Combo ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates a new <see cref="T:Gtk.Combo" />.</summary>
-        <remarks>This is the default contructor for <see cref="T:Gtk.Combo" /></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Button">
-      <MemberSignature Language="C#" Value="public Gtk.Button Button { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The <see cref="T:Gtk.Button" /> asociated with the <see cref="T:Gtk.Combo" />.</summary>
-        <value>an object of type <see cref="T:Gtk.Button" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Entry">
-      <MemberSignature Language="C#" Value="public Gtk.Entry Entry { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Entry</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The <see cref="T:Gtk.Entry" /> asociated with the <see cref="T:Gtk.Combo" />.</summary>
-        <value>an object of type <see cref="T:Gtk.Entry" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UseArrowsAlways">
-      <MemberSignature Language="C#" Value="public bool UseArrowsAlways { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Does nothing. ---- REMOVE ---- See EnableArrowKeys.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="UseArrows">
-      <MemberSignature Language="C#" Value="public bool UseArrows { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Specifies if the arrow (cursor) keys can be used to step through the items in the list. See also EnableArrowKeys.</summary>
-        <value>
-          <see langword="true" /> if the arrow keys can be used to step through the items in the list.</value>
-        <remarks>This is on by default.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="EnableArrowsAlways">
-      <MemberSignature Language="C#" Value="public bool EnableArrowsAlways { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>See <see cref="P:Gtk.Combo.EnableArrowKeys" /></summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("enable-arrows-always")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="ValueInList">
-      <MemberSignature Language="C#" Value="public bool ValueInList { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Specifies whether the value entered in the text entry field must match one of the values in the list.</summary>
-        <value>
-          <see langword="true" /> if the value entered must match one of the values in the list.</value>
-        <remarks>If this is set then the user will not be able to perform any other action until a valid value has been entered.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("value-in-list")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="AllowEmpty">
-      <MemberSignature Language="C#" Value="public bool AllowEmpty { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Specifies if an empty field is acceptable.</summary>
-        <value>
-          <see langword="true" /> if an empty value is considered valid.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("allow-empty")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="EnableArrowKeys">
-      <MemberSignature Language="C#" Value="public bool EnableArrowKeys { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Specifies if the arrow (cursor) keys can be used to step through the items in the list.</summary>
-        <value>
-          <see langword="true" /> if the arrow keys can be used to step through the items in the list.</value>
-        <remarks>This is <see langword="true" /> by default.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("enable-arrow-keys")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CaseSensitive">
-      <MemberSignature Language="C#" Value="public bool CaseSensitive { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Specifies whether the text entered into the <see cref="T:Gtk.Entry" /> field and the text in the list items is case sensitive.</summary>
-        <value>
-          <see langword="true" /> if the text in the list items is case sensitive.</value>
-        <remarks>This may be useful, for example, when you have set true ValueInList to limit the values entered, but you are not worried about differences in case.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("case-sensitive")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Combo" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Combo (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="PopdownStrings">
-      <MemberSignature Language="C#" Value="public string[] PopdownStrings { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String[]</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Property to set all of the items in the popup list.</summary>
-        <value>An array of strings.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetValueInList">
-      <MemberSignature Language="C#" Value="public void SetValueInList (bool val, bool ok_if_empty);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="val" Type="System.Boolean" />
-        <Parameter Name="ok_if_empty" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Whether entered values must already be present in the list.</summary>
-        <param name="val">a <see cref="T:System.Boolean" /></param>
-        <param name="ok_if_empty">a <see cref="T:System.Boolean" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="List">
-      <MemberSignature Language="C#" Value="public Gtk.Widget List { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ComboBox.xml b/doc/en/Gtk/ComboBox.xml
index c9cbaaf..2c6d4ce 100644
--- a/doc/en/Gtk/ComboBox.xml
+++ b/doc/en/Gtk/ComboBox.xml
@@ -1,6 +1,6 @@
 <Type Name="ComboBox" FullName="Gtk.ComboBox">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class ComboBox : Gtk.Bin, Gtk.CellEditable, Gtk.CellLayout" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ComboBox extends Gtk.Bin implements class GLib.IWrapper, class Gtk.CellEditable, class Gtk.CellLayout" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class ComboBox : Gtk.Bin, Gtk.ICellEditable, Gtk.ICellLayout" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ComboBox extends Gtk.Bin implements class GLib.IWrapper, class Gtk.ICellEditable, class Gtk.ICellLayout" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,10 +11,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellEditable</InterfaceName>
+      <InterfaceName>Gtk.ICellEditable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -115,17 +115,17 @@ store.AppendValues ("ComboBox");
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ComboBox (Gtk.TreeModel model);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModel model) cil managed" />
+      <MemberSignature Language="C#" Value="public ComboBox (Gtk.ITreeModel model);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModel model) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
       </Parameters>
       <Docs>
-        <param name="model">a <see cref="T:Gtk.TreeModel" /></param>
-        <summary>Creates a new <see cref="T:Gtk.ComboBox" /> that uses <paramref name="model" /></summary>
-        <remarks />
+        <param name="model">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -567,8 +567,8 @@ store.AppendValues ("ComboBox");
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -576,7 +576,7 @@ store.AppendValues ("ComboBox");
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -641,14 +641,14 @@ store.AppendValues ("ComboBox");
       </Docs>
     </Member>
     <Member MemberName="NewWithModelAndEntry">
-      <MemberSignature Language="C#" Value="public static Gtk.ComboBox NewWithModelAndEntry (Gtk.TreeModel model);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ComboBox NewWithModelAndEntry(class Gtk.TreeModel model) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ComboBox NewWithModelAndEntry (Gtk.ITreeModel model);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ComboBox NewWithModelAndEntry(class Gtk.ITreeModel model) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.ComboBox</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
       </Parameters>
       <Docs>
         <param name="model">To be added.</param>
@@ -712,8 +712,8 @@ store.AppendValues ("ComboBox");
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.ComboBox.MoveActive" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ComboBox.MoveActive" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -731,9 +731,9 @@ store.AppendValues ("ComboBox");
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.ComboBox.PoppedDown" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ComboBox.PoppedDown" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -751,8 +751,8 @@ store.AppendValues ("ComboBox");
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.ComboBox.PoppedUp" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ComboBox.PoppedUp" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ComboBoxEntry.xml b/doc/en/Gtk/ComboBoxEntry.xml
deleted file mode 100644
index fcef05f..0000000
--- a/doc/en/Gtk/ComboBoxEntry.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<Type Name="ComboBoxEntry" FullName="Gtk.ComboBoxEntry">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class ComboBoxEntry : Gtk.ComboBox" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A text entry field with a dropdown list</summary>
-    <remarks />
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.ComboBox</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="NewText">
-      <MemberSignature Language="C#" Value="public static Gtk.ComboBoxEntry NewText ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ComboBoxEntry</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Convenience function which constructs a new editable text combo box, which is a <see cref="T:Gtk.ComboBoxEntry" /> just displaying strings.</summary>
-        <returns>a <see cref="T:Gtk.ComboBoxEntry" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected ComboBoxEntry (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ComboBoxEntry (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ComboBoxEntry ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates a new <see cref="T:Gtk.ComboBoxEntry" /> which has a <see cref="T:Gtk.Entry" /> as its child.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ComboBoxEntry (Gtk.TreeModel model, int text_column);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
-        <Parameter Name="text_column" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Creates a new <see cref="T:Gtk.ComboBoxEntry" /> which has a <see cref="T:Gtk.Entry" /> as child and a list of strings as popup.</summary>
-        <param name="model">a <see cref="T:Gtk.TreeModel" /> which holds the data.</param>
-        <param name="text_column">a <see cref="T:System.Int32" /> which means the coluumn number (0 based) in the <see cref="T:Gtk.TreeModel" /> which contains the list of strings to display.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ComboBoxEntry" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TextColumn">
-      <MemberSignature Language="C#" Value="public int TextColumn { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>the column in the model which the combobox is using to get the strings from.</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("text-column")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ComboBoxEntry (string[] entries);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="entries" Type="System.String[]" />
-      </Parameters>
-      <Docs>
-        <param name="entries">a list of strings for the dropdown list.</param>
-        <summary>Creates a combo entry from a list of entries.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Entry">
-      <MemberSignature Language="C#" Value="public Gtk.Entry Entry { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Entry</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The combo box's <see cref="T:Gtk.Entry" /> child.</summary>
-        <value>The <see cref="T:Gtk.Entry" />.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ComboBoxText.xml b/doc/en/Gtk/ComboBoxText.xml
index 823205f..b66e947 100644
--- a/doc/en/Gtk/ComboBoxText.xml
+++ b/doc/en/Gtk/ComboBoxText.xml
@@ -47,9 +47,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -125,9 +125,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ComboBoxText" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CreateWindowArgs.xml b/doc/en/Gtk/CreateWindowArgs.xml
index 6f77548..17ae257 100644
--- a/doc/en/Gtk/CreateWindowArgs.xml
+++ b/doc/en/Gtk/CreateWindowArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Notebook.CreateWindow" /> event invokes <see cref="T:Gtk.CreateWindowHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.CreateWindowArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CreateWindowHandler" /> delegate.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Page">
diff --git a/doc/en/Gtk/CreateWindowHandler.xml b/doc/en/Gtk/CreateWindowHandler.xml
index 0762a53..cb74318 100644
--- a/doc/en/Gtk/CreateWindowHandler.xml
+++ b/doc/en/Gtk/CreateWindowHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Notebook.CreateWindow" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.CreateWindowArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.CreateWindowHandler" /> to an event, add the CreateWindowHandler instance to the event.  The methods referenced by the CreateWindowHandler instance are invoked whenever the event is raised, until the CreateWindowHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/CssProvider.xml b/doc/en/Gtk/CssProvider.xml
index 4621ba2..0f64092 100644
--- a/doc/en/Gtk/CssProvider.xml
+++ b/doc/en/Gtk/CssProvider.xml
@@ -1,6 +1,6 @@
 <Type Name="CssProvider" FullName="Gtk.CssProvider">
-  <TypeSignature Language="C#" Value="public class CssProvider : GLib.Object, Gtk.StyleProvider" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CssProvider extends GLib.Object implements class GLib.IWrapper, class Gtk.StyleProvider" />
+  <TypeSignature Language="C#" Value="public class CssProvider : GLib.Object, Gtk.IStyleProvider" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CssProvider extends GLib.Object implements class GLib.IWrapper, class Gtk.IStyleProvider" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.StyleProvider</InterfaceName>
+      <InterfaceName>Gtk.IStyleProvider</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -160,9 +160,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CssProvider" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -185,14 +185,14 @@
       </Docs>
     </Member>
     <Member MemberName="LoadFromFile">
-      <MemberSignature Language="C#" Value="public bool LoadFromFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool LoadFromFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool LoadFromFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool LoadFromFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
diff --git a/doc/en/Gtk/CurrentParagraphAlignmentChangedArgs.xml b/doc/en/Gtk/CurrentParagraphAlignmentChangedArgs.xml
deleted file mode 100644
index b6bf297..0000000
--- a/doc/en/Gtk/CurrentParagraphAlignmentChangedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="CurrentParagraphAlignmentChangedArgs" FullName="Gtk.CurrentParagraphAlignmentChangedArgs">
-  <TypeSignature Language="C#" Value="public class CurrentParagraphAlignmentChangedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CurrentParagraphAlignmentChanged" /> event invokes <see cref="T:Gtk.CurrentParagraphAlignmentChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CurrentParagraphAlignmentChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.CurrentParagraphAlignmentChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CurrentParagraphAlignmentChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NewAlignment">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLParagraphAlignment NewAlignment { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphAlignment</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The new alignment of the paragraph.</summary>
-        <value>a <see cref="Gtk.HTMLParagraphAlignment" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/CurrentParagraphAlignmentChangedHandler.xml b/doc/en/Gtk/CurrentParagraphAlignmentChangedHandler.xml
deleted file mode 100644
index 21f7b4e..0000000
--- a/doc/en/Gtk/CurrentParagraphAlignmentChangedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="CurrentParagraphAlignmentChangedHandler" FullName="Gtk.CurrentParagraphAlignmentChangedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CurrentParagraphAlignmentChangedHandler(object o, CurrentParagraphAlignmentChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CurrentParagraphAlignmentChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.CurrentParagraphAlignmentChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.CurrentParagraphAlignmentChangedHandler" /> to an event, add the CurrentParagraphAlignmentChangedHandler instance to the event.  The methods referenced by the CurrentParagraphAlignmentChangedHandler instance are invoked whenever the event is raised, until the CurrentParagraphAlignmentChangedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.CurrentParagraphAlignmentChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/CurrentParagraphIndentationChangedArgs.xml b/doc/en/Gtk/CurrentParagraphIndentationChangedArgs.xml
deleted file mode 100644
index c5d1861..0000000
--- a/doc/en/Gtk/CurrentParagraphIndentationChangedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="CurrentParagraphIndentationChangedArgs" FullName="Gtk.CurrentParagraphIndentationChangedArgs">
-  <TypeSignature Language="C#" Value="public class CurrentParagraphIndentationChangedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CurrentParagraphIndentationChanged" /> event invokes <see cref="T:Gtk.CurrentParagraphIndentationChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CurrentParagraphIndentationChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.CurrentParagraphIndentationChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CurrentParagraphIndentationChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NewIndentation">
-      <MemberSignature Language="C#" Value="public uint NewIndentation { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The new indentation level of the paragraph.</summary>
-        <value>An integer, the new indentation level.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/CurrentParagraphIndentationChangedHandler.xml b/doc/en/Gtk/CurrentParagraphIndentationChangedHandler.xml
deleted file mode 100644
index ae984fb..0000000
--- a/doc/en/Gtk/CurrentParagraphIndentationChangedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="CurrentParagraphIndentationChangedHandler" FullName="Gtk.CurrentParagraphIndentationChangedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CurrentParagraphIndentationChangedHandler(object o, CurrentParagraphIndentationChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CurrentParagraphIndentationChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.CurrentParagraphIndentationChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.CurrentParagraphIndentationChangedHandler" /> to an event, add the CurrentParagraphIndentationChangedHandler instance to the event.  The methods referenced by the CurrentParagraphIndentationChangedHandler instance are invoked whenever the event is raised, until the CurrentParagraphIndentationChangedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.CurrentParagraphIndentationChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/CurrentParagraphStyleChangedArgs.xml b/doc/en/Gtk/CurrentParagraphStyleChangedArgs.xml
deleted file mode 100644
index 99ec35b..0000000
--- a/doc/en/Gtk/CurrentParagraphStyleChangedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="CurrentParagraphStyleChangedArgs" FullName="Gtk.CurrentParagraphStyleChangedArgs">
-  <TypeSignature Language="C#" Value="public class CurrentParagraphStyleChangedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CurrentParagraphStyleChanged" /> event invokes <see cref="T:Gtk.CurrentParagraphStyleChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CurrentParagraphStyleChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.CurrentParagraphStyleChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CurrentParagraphStyleChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NewStyle">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLParagraphStyle NewStyle { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The new style that was set.</summary>
-        <value>a <see cref="T:Gtk.HTMLParagraphStyle" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/CurrentParagraphStyleChangedHandler.xml b/doc/en/Gtk/CurrentParagraphStyleChangedHandler.xml
deleted file mode 100644
index ddab76a..0000000
--- a/doc/en/Gtk/CurrentParagraphStyleChangedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="CurrentParagraphStyleChangedHandler" FullName="Gtk.CurrentParagraphStyleChangedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CurrentParagraphStyleChangedHandler(object o, CurrentParagraphStyleChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CurrentParagraphStyleChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.CurrentParagraphStyleChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.CurrentParagraphStyleChangedHandler" /> to an event, add the CurrentParagraphStyleChangedHandler instance to the event.  The methods referenced by the CurrentParagraphStyleChangedHandler instance are invoked whenever the event is raised, until the CurrentParagraphStyleChangedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.CurrentParagraphStyleChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/CursorMoveArgs.xml b/doc/en/Gtk/CursorMoveArgs.xml
deleted file mode 100644
index 3d57441..0000000
--- a/doc/en/Gtk/CursorMoveArgs.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<Type Name="CursorMoveArgs" FullName="Gtk.CursorMoveArgs">
-  <TypeSignature Language="C#" Value="public class CursorMoveArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CursorMove" /> event invokes <see cref="T:Gtk.CursorMoveHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public CursorMoveArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.CursorMoveArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CursorMoveHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Skip">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLCursorSkipType Skip { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCursorSkipType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The kind of skip being done in this cursor move.</summary>
-        <value>A <see cref="T:Gtk.HTMLCursorSkipType" /></value>
-        <remarks>Approximately: whether to skip by characters, words, pages, or the whole document.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DirType">
-      <MemberSignature Language="C#" Value="public Gtk.DirectionType DirType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.DirectionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The direction to move the cursor.</summary>
-        <value>A <see cref="T:Gtk.DirectionType" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/CursorMoveHandler.xml b/doc/en/Gtk/CursorMoveHandler.xml
deleted file mode 100644
index 3fb4e40..0000000
--- a/doc/en/Gtk/CursorMoveHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="CursorMoveHandler" FullName="Gtk.CursorMoveHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void CursorMoveHandler(object o, CursorMoveArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.CursorMove" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.CursorMoveArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.CursorMoveHandler" /> to an event, add the CursorMoveHandler instance to the event.  The methods referenced by the CursorMoveHandler instance are invoked whenever the event is raised, until the CursorMoveHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.CursorMoveArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/CursorOnMatchArgs.xml b/doc/en/Gtk/CursorOnMatchArgs.xml
index 7a78486..2a483a2 100644
--- a/doc/en/Gtk/CursorOnMatchArgs.xml
+++ b/doc/en/Gtk/CursorOnMatchArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.EntryCompletion.CursorOnMatch" /> event invokes <see cref="T:Gtk.CursorOnMatchHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.CursorOnMatchArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CursorOnMatchHandler" /> delegate.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Iter">
@@ -38,11 +40,11 @@
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/CursorOnMatchHandler.xml b/doc/en/Gtk/CursorOnMatchHandler.xml
index 466d14f..3db37cb 100644
--- a/doc/en/Gtk/CursorOnMatchHandler.xml
+++ b/doc/en/Gtk/CursorOnMatchHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.EntryCompletion.CursorOnMatch" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.CursorOnMatchArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.CursorOnMatchHandler" /> to an event, add the CursorOnMatchHandler instance to the event.  The methods referenced by the CursorOnMatchHandler instance are invoked whenever the event is raised, until the CursorOnMatchHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Curve.xml b/doc/en/Gtk/Curve.xml
deleted file mode 100644
index a1e92be..0000000
--- a/doc/en/Gtk/Curve.xml
+++ /dev/null
@@ -1,309 +0,0 @@
-<Type Name="Curve" FullName="Gtk.Curve">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class Curve : Gtk.DrawingArea" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>The <see cref="T:Gtk.Curve" /> widget allows the user to edit a curve covering a range of values.</summary>
-    <remarks>
-      <para>
-      The <see cref="T:Gtk.Curve" /> widget allows the user to edit a curve covering a range of values. It is typically used to fine-tune color balances in graphics applications like the Gimp. The <see cref="T:Gtk.Curve" /> widget has 3 modes of operation - spline, linear and free. In spline mode the user places points on the curve which are automatically connected together into a smooth curve. In linear mode the user places points on the curve which are connected by straight lines. In f [...]
-     </para>
-      <para>
-      NOTE: this widget is considered too specialized/little-used for GTK+, and will in the future be moved to some other package. If your application needs this widget, feel free to use it, as the widget does work and is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will eventually move out of the GTK+ distribution. (FIXME: will it remain in GTK#?)
-     </para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.DrawingArea</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Reset">
-      <MemberSignature Language="C#" Value="public void Reset ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Resets the curve to a straight line from the minimum x and y values to the maximum x and y values (i.e. from the bottom-left to the top-right corners).</summary>
-        <remarks>
-          <para>
-          Resets the curve to a straight line from the minimum x and y values to the maximum x and y values (i.e. from the bottom-left to the top-right corners). The curve type is not changed.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetRange">
-      <MemberSignature Language="C#" Value="public void SetRange (float min_x, float max_x, float min_y, float max_y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="min_x" Type="System.Single" />
-        <Parameter Name="max_x" Type="System.Single" />
-        <Parameter Name="min_y" Type="System.Single" />
-        <Parameter Name="max_y" Type="System.Single" />
-      </Parameters>
-      <Docs>
-        <summary>Sets the minimum and maximum x and y values of the curve.</summary>
-        <param name="min_x">The minimum x value.</param>
-        <param name="max_x">The maximum x value.</param>
-        <param name="min_y">The minimum y value.</param>
-        <param name="max_y">The maximum y value.</param>
-        <remarks>
-          <para>
-          Sets the minimum and maximum x and y values of the curve. The curve is also reset with a call to <see cref="M:Gtk.Curve.Reset" />.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Curve (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Curve ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Gamma">
-      <MemberSignature Language="C#" Value="public float Gamma { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Single</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Recomputes the entire curve using the given gamma value.</summary>
-        <value>A gamma value.</value>
-        <remarks>
-          <para>
-          A gamma value of 1 results in a straight line. Values greater than 1 result in a curve above the straight line. Values less than 1 result in a curve below the straight.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="MaxY">
-      <MemberSignature Language="C#" Value="public float MaxY { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Single</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The maximum y value of the gamma curve.</summary>
-        <value>A max y value.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("max-y")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="MaxX">
-      <MemberSignature Language="C#" Value="public float MaxX { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Single</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The maximum x value of the gamma curve.</summary>
-        <value>A max x value.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("max-x")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="MinY">
-      <MemberSignature Language="C#" Value="public float MinY { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Single</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The minimum y value of the gamma curve.</summary>
-        <value>A min y value.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("min-y")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="MinX">
-      <MemberSignature Language="C#" Value="public float MinX { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Single</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The minimum x value of the gamma curve.</summary>
-        <value>A min x value.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("min-x")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CurveType">
-      <MemberSignature Language="C#" Value="public Gtk.CurveType CurveType { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurveType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Sets the type of the curve.</summary>
-        <value>A <see cref="T:Gtk.CurveType" />.</value>
-        <remarks>
-          <para>
-          The curve will remain unchanged except when changing from a free curve to a linear or spline curve, in which case the curve will be changed as little as possible.
-         </para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("curve-type")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CurveTypeChanged">
-      <MemberSignature Language="C#" Value="public event EventHandler CurveTypeChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the curve type has been changed.</summary>
-        <remarks>
-          <para>
-          The curve type can be changed explicitly with a call to <see cref="P:Gtk.Curve.CurveType" />. It is also changed as a side-effect of calling <see cref="M:Gtk.Curve.Reset" /> or <see cref="P:Gtk.Curve.Gamma" />.
-         </para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("curve_type_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Curve" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnCurveTypeChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnCurveTypeChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.Curve.CurveTypeChanged" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Curve.CurveTypeChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Curve (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GetVector">
-      <MemberSignature Language="C#" Value="public void GetVector (int veclen, float[] vector);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="veclen" Type="System.Int32" />
-        <Parameter Name="vector" Type="System.Single[]" />
-      </Parameters>
-      <Docs>
-        <param name="veclen">To be added.</param>
-        <param name="vector">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetVector">
-      <MemberSignature Language="C#" Value="public void SetVector (int veclen, float[] vector);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="veclen" Type="System.Int32" />
-        <Parameter Name="vector" Type="System.Single[]" />
-      </Parameters>
-      <Docs>
-        <param name="veclen">To be added.</param>
-        <param name="vector">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/CurveType.xml b/doc/en/Gtk/CurveType.xml
deleted file mode 100644
index 5397195..0000000
--- a/doc/en/Gtk/CurveType.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<Type Name="CurveType" FullName="Gtk.CurveType">
-  <TypeSignature Language="C#" Maintainer="Duncan Mak" Value="public enum CurveType" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>The method to use when making the curve.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.CurveTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Linear">
-      <MemberSignature Language="C#" Value="Linear" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurveType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>linear interpolation</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Spline">
-      <MemberSignature Language="C#" Value="Spline" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurveType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>spline interpolation</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Free">
-      <MemberSignature Language="C#" Value="Free" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurveType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>free form curve </summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/CustomItemActivatedArgs.xml b/doc/en/Gtk/CustomItemActivatedArgs.xml
index 397c727..19bd113 100644
--- a/doc/en/Gtk/CustomItemActivatedArgs.xml
+++ b/doc/en/Gtk/CustomItemActivatedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.AppChooserButton.CustomItemActivated" /> event invokes <see cref="T:Gtk.CustomItemActivatedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.CustomItemActivatedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CustomItemActivatedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CustomItemActivatedHandler.xml b/doc/en/Gtk/CustomItemActivatedHandler.xml
index ca1b948..0df891e 100644
--- a/doc/en/Gtk/CustomItemActivatedHandler.xml
+++ b/doc/en/Gtk/CustomItemActivatedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.AppChooserButton.CustomItemActivated" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.CustomItemActivatedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.CustomItemActivatedHandler" /> to an event, add the CustomItemActivatedHandler instance to the event.  The methods referenced by the CustomItemActivatedHandler instance are invoked whenever the event is raised, until the CustomItemActivatedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/CustomPaperUnixDialog.xml b/doc/en/Gtk/CustomPaperUnixDialog.xml
index bda62d7..d4a8b76 100644
--- a/doc/en/Gtk/CustomPaperUnixDialog.xml
+++ b/doc/en/Gtk/CustomPaperUnixDialog.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.CustomPaperUnixDialog" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CycleFocusArgs.xml b/doc/en/Gtk/CycleFocusArgs.xml
index 378ad3c..5b29dc5 100644
--- a/doc/en/Gtk/CycleFocusArgs.xml
+++ b/doc/en/Gtk/CycleFocusArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.MenuShell.CycleFocus" /> event invokes <see cref="T:Gtk.CycleFocusHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.CycleFocusArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.CycleFocusHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/CycleFocusHandler.xml b/doc/en/Gtk/CycleFocusHandler.xml
index 5bb0a05..e560c67 100644
--- a/doc/en/Gtk/CycleFocusHandler.xml
+++ b/doc/en/Gtk/CycleFocusHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.MenuShell.CycleFocus" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.CycleFocusArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.CycleFocusHandler" /> to an event, add the CycleFocusHandler instance to the event.  The methods referenced by the CycleFocusHandler instance are invoked whenever the event is raised, until the CycleFocusHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/DamageEventArgs.xml b/doc/en/Gtk/DamageEventArgs.xml
index d74bc90..e72ffcd 100644
--- a/doc/en/Gtk/DamageEventArgs.xml
+++ b/doc/en/Gtk/DamageEventArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.DamageEvent" /> event invokes <see cref="T:Gtk.DamageEventHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.DamageEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DamageEventHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/DamageEventHandler.xml b/doc/en/Gtk/DamageEventHandler.xml
index 3ffc0ca..7d65c23 100644
--- a/doc/en/Gtk/DamageEventHandler.xml
+++ b/doc/en/Gtk/DamageEventHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.DamageEvent" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.DamageEventArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.DamageEventHandler" /> to an event, add the DamageEventHandler instance to the event.  The methods referenced by the DamageEventHandler instance are invoked whenever the event is raised, until the DamageEventHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/DeletedTextArgs.xml b/doc/en/Gtk/DeletedTextArgs.xml
index e2f0246..ac865ce 100644
--- a/doc/en/Gtk/DeletedTextArgs.xml
+++ b/doc/en/Gtk/DeletedTextArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.EntryBuffer.DeletedText" /> event invokes <see cref="T:Gtk.DeletedTextHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.DeletedTextArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DeletedTextHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/DeletedTextHandler.xml b/doc/en/Gtk/DeletedTextHandler.xml
index 899e296..84372a6 100644
--- a/doc/en/Gtk/DeletedTextHandler.xml
+++ b/doc/en/Gtk/DeletedTextHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.EntryBuffer.DeletedText" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.DeletedTextArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.DeletedTextHandler" /> to an event, add the DeletedTextHandler instance to the event.  The methods referenced by the DeletedTextHandler instance are invoked whenever the event is raised, until the DeletedTextHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/DestroyNotify.xml b/doc/en/Gtk/DestroyNotify.xml
deleted file mode 100644
index 956c029..0000000
--- a/doc/en/Gtk/DestroyNotify.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<Type Name="DestroyNotify" FullName="Gtk.DestroyNotify">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void DestroyNotify();" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A delegate run by some callbacks before object destruction.</summary>
-    <remarks>Used in <see cref="M:Gtk.ListStore.SetSortFunc" />, 
-      <see cref="M:Gtk.Container.ForeachFull" />, and anywhere else that
-      a run-before-object-destruction routine is needed in a callback.
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/DisableDeviceArgs.xml b/doc/en/Gtk/DisableDeviceArgs.xml
deleted file mode 100644
index baeed8c..0000000
--- a/doc/en/Gtk/DisableDeviceArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="DisableDeviceArgs" FullName="Gtk.DisableDeviceArgs">
-  <TypeSignature Language="C#" Value="public class DisableDeviceArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.InputDialog.DisableDevice" /> event invokes <see cref="T:Gtk.DisableDeviceHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public DisableDeviceArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.DisableDeviceArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DisableDeviceHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Device">
-      <MemberSignature Language="C#" Value="public Gdk.Device Device { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Device</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The device to enable.</summary>
-        <value>A <see cref="T:Gdk.Device" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/DisableDeviceHandler.xml b/doc/en/Gtk/DisableDeviceHandler.xml
deleted file mode 100644
index 188bd21..0000000
--- a/doc/en/Gtk/DisableDeviceHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="DisableDeviceHandler" FullName="Gtk.DisableDeviceHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void DisableDeviceHandler(object o, DisableDeviceArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.InputDialog.DisableDevice" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.DisableDeviceArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.DisableDeviceHandler" /> to an event, add the DisableDeviceHandler instance to the event.  The methods referenced by the DisableDeviceHandler instance are invoked whenever the event is raised, until the DisableDeviceHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.DisableDeviceArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/DragFailedArgs.xml b/doc/en/Gtk/DragFailedArgs.xml
index 7f95808..281b485 100644
--- a/doc/en/Gtk/DragFailedArgs.xml
+++ b/doc/en/Gtk/DragFailedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.DragFailed" /> event invokes <see cref="T:Gtk.DragFailedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.DragFailedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DragFailedHandler" /> delegate.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Context">
diff --git a/doc/en/Gtk/DragFailedHandler.xml b/doc/en/Gtk/DragFailedHandler.xml
index 7d124b6..34bb131 100644
--- a/doc/en/Gtk/DragFailedHandler.xml
+++ b/doc/en/Gtk/DragFailedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.DragFailed" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.DragFailedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.DragFailedHandler" /> to an event, add the DragFailedHandler instance to the event.  The methods referenced by the DragFailedHandler instance are invoked whenever the event is raised, until the DragFailedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Draw.xml b/doc/en/Gtk/Draw.xml
deleted file mode 100644
index 7969112..0000000
--- a/doc/en/Gtk/Draw.xml
+++ /dev/null
@@ -1,691 +0,0 @@
-<Type Name="Draw" FullName="Gtk.Draw">
-  <TypeSignature Language="C#" Value="public class Draw" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A class for drawing various shapes; mostly obsolete.</summary>
-    <remarks>
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Shadow">
-      <MemberSignature Language="C#" Value="public static void Shadow (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Diamond">
-      <MemberSignature Language="C#" Value="public static void Diamond (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BoxGap">
-      <MemberSignature Language="C#" Value="public static void BoxGap (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height, Gtk.PositionType gap_side, int gap_x, int gap_width);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="gap_side" Type="Gtk.PositionType" />
-        <Parameter Name="gap_x" Type="System.Int32" />
-        <Parameter Name="gap_width" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="gap_side">a <see cref="T:System.Int32" /></param>
-        <param name="gap_x">a <see cref="T:System.Int32" /></param>
-        <param name="gap_width">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Extension">
-      <MemberSignature Language="C#" Value="public static void Extension (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height, Gtk.PositionType gap_side);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="gap_side" Type="Gtk.PositionType" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="gap_side">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Expander">
-      <MemberSignature Language="C#" Value="public static void Expander (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, int x, int y, Gtk.ExpanderStyle expander_style);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="expander_style" Type="Gtk.ExpanderStyle" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="expander_style">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Focus">
-      <MemberSignature Language="C#" Value="public static void Focus (Gtk.Style style, Gdk.Window window, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Arrow">
-      <MemberSignature Language="C#" Value="public static void Arrow (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, Gtk.ArrowType arrow_type, bool fill, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="arrow_type" Type="Gtk.ArrowType" />
-        <Parameter Name="fill" Type="System.Boolean" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="arrow_type">a <see cref="T:System.Int32" /></param>
-        <param name="fill">a <see cref="T:System.Boolean" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tab">
-      <MemberSignature Language="C#" Value="public static void Tab (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Box">
-      <MemberSignature Language="C#" Value="public static void Box (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Layout">
-      <MemberSignature Language="C#" Value="public static void Layout (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, bool use_text, int x, int y, Pango.Layout layout);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="use_text" Type="System.Boolean" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="layout" Type="Pango.Layout" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="use_text">a <see cref="T:System.Boolean" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="layout">a <see cref="T:Pango.Layout" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Hline">
-      <MemberSignature Language="C#" Value="public static void Hline (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, int x1, int x2, int y);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="x1" Type="System.Int32" />
-        <Parameter Name="x2" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="x1">a <see cref="T:System.Int32" /></param>
-        <param name="x2">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Option">
-      <MemberSignature Language="C#" Value="public static void Option (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ResizeGrip">
-      <MemberSignature Language="C#" Value="public static void ResizeGrip (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gdk.WindowEdge edge, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="edge" Type="Gdk.WindowEdge" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="edge">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FlatBox">
-      <MemberSignature Language="C#" Value="public static void FlatBox (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="String">
-      <MemberSignature Language="C#" Value="public static void String (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, int x, int y, string str1ng);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="str1ng" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="str1ng">a <see cref="T:System.String" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Handle">
-      <MemberSignature Language="C#" Value="public static void Handle (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height, Gtk.Orientation orientation);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="orientation" Type="Gtk.Orientation" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="orientation">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ShadowGap">
-      <MemberSignature Language="C#" Value="public static void ShadowGap (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height, Gtk.PositionType gap_side, int gap_x, int gap_width);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="gap_side" Type="Gtk.PositionType" />
-        <Parameter Name="gap_x" Type="System.Int32" />
-        <Parameter Name="gap_width" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="gap_side">a <see cref="T:System.Int32" /></param>
-        <param name="gap_x">a <see cref="T:System.Int32" /></param>
-        <param name="gap_width">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Check">
-      <MemberSignature Language="C#" Value="public static void Check (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Polygon">
-      <MemberSignature Language="C#" Value="public static void Polygon (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, Gdk.Point points, int npoints, bool fill);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="points" Type="Gdk.Point" />
-        <Parameter Name="npoints" Type="System.Int32" />
-        <Parameter Name="fill" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="points">a <see cref="T:Gdk.Point" /></param>
-        <param name="npoints">a <see cref="T:System.Int32" /></param>
-        <param name="fill">a <see cref="T:System.Boolean" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Vline">
-      <MemberSignature Language="C#" Value="public static void Vline (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, int y1_, int y2_, int x);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="y1_" Type="System.Int32" />
-        <Parameter Name="y2_" Type="System.Int32" />
-        <Parameter Name="x" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="y1_">a <see cref="T:System.Int32" /></param>
-        <param name="y2_">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Slider">
-      <MemberSignature Language="C#" Value="public static void Slider (Gtk.Style style, Gdk.Window window, Gtk.StateType state_type, Gtk.ShadowType shadow_type, int x, int y, int width, int height, Gtk.Orientation orientation);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.Style" />
-        <Parameter Name="window" Type="Gdk.Window" />
-        <Parameter Name="state_type" Type="Gtk.StateType" />
-        <Parameter Name="shadow_type" Type="Gtk.ShadowType" />
-        <Parameter Name="x" Type="System.Int32" />
-        <Parameter Name="y" Type="System.Int32" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-        <Parameter Name="orientation" Type="Gtk.Orientation" />
-      </Parameters>
-      <Docs>
-        <summary>Obsolete. Do not use.</summary>
-        <param name="style">a <see cref="T:Gtk.Style" /></param>
-        <param name="window">a <see cref="T:Gdk.Window" /></param>
-        <param name="state_type">a <see cref="T:System.Int32" /></param>
-        <param name="shadow_type">a <see cref="T:System.Int32" /></param>
-        <param name="x">a <see cref="T:System.Int32" /></param>
-        <param name="y">a <see cref="T:System.Int32" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <param name="orientation">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertionCursor">
-      <MemberSignature Language="C#" Value="public static void InsertionCursor (Gtk.Widget widget, Gdk.Drawable drawable, Gdk.Rectangle area, Gdk.Rectangle location, bool is_primary, Gtk.TextDirection direction, bool draw_arrow);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="widget" Type="Gtk.Widget" />
-        <Parameter Name="drawable" Type="Gdk.Drawable" />
-        <Parameter Name="area" Type="Gdk.Rectangle" />
-        <Parameter Name="location" Type="Gdk.Rectangle" />
-        <Parameter Name="is_primary" Type="System.Boolean" />
-        <Parameter Name="direction" Type="Gtk.TextDirection" />
-        <Parameter Name="draw_arrow" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Draws a text caret on <paramref name="drawable" /> at <paramref name="location" />. 
- *</summary>
-        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
-        <param name="drawable">a <see cref="T:Gdk.Drawable" /></param>
-        <param name="area">a <see cref="T:Gdk.Rectangle" />, rectangle to which the output is clipped, or <see langword="null" /> if the output should not be clipped</param>
-        <param name="location">a <see cref="T:Gdk.Rectangle" /> location where to draw the cursor (<paramref name="location" />.Width is ignored)</param>
-        <param name="is_primary">a <see cref="T:System.Boolean" />, whether the cursor should be the primary cursor color.</param>
-        <param name="direction">a <see cref="T:System.Int32" />,  whether the cursor is left-to-right or right-to-left. Should never be <see cref="F:Gtk.TextDirection.None" />.</param>
-        <param name="draw_arrow">a <see cref="T:System.Boolean" />, <see langword="true" /> to draw a directional arrow on the cursor. Should be <see langword="false" /> unless the cursor is split.</param>
-        <remarks>
-	  This is not a style function
-	  but merely a convenience function for drawing the standard cursor shape.
-	</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Draw ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public constructor.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/DrawGdkArgs.xml b/doc/en/Gtk/DrawGdkArgs.xml
deleted file mode 100644
index 8037fe1..0000000
--- a/doc/en/Gtk/DrawGdkArgs.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<Type Name="DrawGdkArgs" FullName="Gtk.DrawGdkArgs">
-  <TypeSignature Language="C#" Value="public class DrawGdkArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTMLEmbedded.DrawGdk" /> event invokes <see cref="T:Gtk.DrawGdkHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public DrawGdkArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.DrawGdkArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DrawGdkHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Arg2">
-      <MemberSignature Language="C#" Value="public Gdk.Pixmap Arg2 { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Pixmap</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The pixmap to draw</summary>
-        <value>a <see cref="T:Gdk.Pixmap" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Arg3">
-      <MemberSignature Language="C#" Value="public Gdk.GC Arg3 { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GC</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The graphics context</summary>
-        <value>a <see cref="T:Gdk.GC" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Arg4">
-      <MemberSignature Language="C#" Value="public int Arg4 { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An additional argument.</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Arg5">
-      <MemberSignature Language="C#" Value="public int Arg5 { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A second additional argument.</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/DrawGdkHandler.xml b/doc/en/Gtk/DrawGdkHandler.xml
deleted file mode 100644
index c1d9609..0000000
--- a/doc/en/Gtk/DrawGdkHandler.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<Type Name="DrawGdkHandler" FullName="Gtk.DrawGdkHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void DrawGdkHandler(object o, DrawGdkArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTMLEmbedded.DrawGdk" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.DrawGdkArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.DrawGdkHandler" /> to an event, add the DrawGdkHandler instance to the event.  The methods referenced by the DrawGdkHandler instance are invoked whenever the event is raised, until the DrawGdkHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.DrawGdkArgs" />
-  </Parameters>
-</Type>
diff --git a/doc/en/Gtk/DrawPrintArgs.xml b/doc/en/Gtk/DrawPrintArgs.xml
deleted file mode 100644
index 373718a..0000000
--- a/doc/en/Gtk/DrawPrintArgs.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<Type Name="DrawPrintArgs" FullName="Gtk.DrawPrintArgs">
-  <TypeSignature Language="C#" Value="public class DrawPrintArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTMLEmbedded.DrawPrint" /> event invokes <see cref="T:Gtk.DrawPrintHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public DrawPrintArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.DrawPrintArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DrawPrintHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Arg2">
-      <MemberSignature Language="C#" Value="public Gtk.PrintContext Arg2 { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrintContext</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The print context currently in use.</summary>
-        <value>a <see cref="T:Gnome.PrintContext" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/DrawPrintHandler.xml b/doc/en/Gtk/DrawPrintHandler.xml
deleted file mode 100644
index 750183a..0000000
--- a/doc/en/Gtk/DrawPrintHandler.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<Type Name="DrawPrintHandler" FullName="Gtk.DrawPrintHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void DrawPrintHandler(object o, DrawPrintArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTMLEmbedded.DrawPrint" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.DrawPrintArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.DrawPrintHandler" /> to an event, add the DrawPrintHandler instance to the event.  The methods referenced by the DrawPrintHandler instance are invoked whenever the event is raised, until the DrawPrintHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.DrawPrintArgs" />
-  </Parameters>
-</Type>
diff --git a/doc/en/Gtk/DrawnArgs.xml b/doc/en/Gtk/DrawnArgs.xml
index 8cffce8..8cb4ec9 100644
--- a/doc/en/Gtk/DrawnArgs.xml
+++ b/doc/en/Gtk/DrawnArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.Drawn" /> event invokes <see cref="T:Gtk.DrawnHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.DrawnArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.DrawnHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/DrawnHandler.xml b/doc/en/Gtk/DrawnHandler.xml
index d57216b..6e147b0 100644
--- a/doc/en/Gtk/DrawnHandler.xml
+++ b/doc/en/Gtk/DrawnHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.Drawn" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.DrawnArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.DrawnHandler" /> to an event, add the DrawnHandler instance to the event.  The methods referenced by the DrawnHandler instance are invoked whenever the event is raised, until the DrawnHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/EditableAdapter.xml b/doc/en/Gtk/EditableAdapter.xml
index 1ff995b..0ba820c 100644
--- a/doc/en/Gtk/EditableAdapter.xml
+++ b/doc/en/Gtk/EditableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="EditableAdapter" FullName="Gtk.EditableAdapter">
-  <TypeSignature Language="C#" Value="public class EditableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.Editable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi EditableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.Editable" />
+  <TypeSignature Language="C#" Value="public class EditableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IEditable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi EditableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IEditable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Editable</InterfaceName>
+      <InterfaceName>Gtk.IEditable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public EditableAdapter (Gtk.EditableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.EditableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public EditableAdapter (Gtk.IEditableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IEditableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.EditableImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IEditableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -152,11 +153,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Editable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Editable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IEditable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IEditable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Editable</ReturnType>
+        <ReturnType>Gtk.IEditable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -170,11 +171,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Editable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Editable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IEditable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IEditable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Editable</ReturnType>
+        <ReturnType>Gtk.IEditable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -186,6 +187,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectionBounds">
@@ -207,9 +209,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -236,11 +252,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.EditableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.EditableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IEditableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IEditableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.EditableImplementor</ReturnType>
+        <ReturnType>Gtk.IEditableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/EditingStartedArgs.xml b/doc/en/Gtk/EditingStartedArgs.xml
index b75df76..fe96181 100644
--- a/doc/en/Gtk/EditingStartedArgs.xml
+++ b/doc/en/Gtk/EditingStartedArgs.xml
@@ -30,11 +30,11 @@
       </Docs>
     </Member>
     <Member MemberName="Editable">
-      <MemberSignature Language="C#" Value="public Gtk.CellEditable Editable { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellEditable Editable" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellEditable Editable { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ICellEditable Editable" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/EnableDeviceArgs.xml b/doc/en/Gtk/EnableDeviceArgs.xml
deleted file mode 100644
index eb86da2..0000000
--- a/doc/en/Gtk/EnableDeviceArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="EnableDeviceArgs" FullName="Gtk.EnableDeviceArgs">
-  <TypeSignature Language="C#" Value="public class EnableDeviceArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.InputDialog.EnableDevice" /> event invokes <see cref="T:Gtk.EnableDeviceHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public EnableDeviceArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.EnableDeviceArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.EnableDeviceHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Device">
-      <MemberSignature Language="C#" Value="public Gdk.Device Device { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Device</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The device to enable.</summary>
-        <value>A <see cref="T:Gdk.Device" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/EnableDeviceHandler.xml b/doc/en/Gtk/EnableDeviceHandler.xml
deleted file mode 100644
index 54a9da6..0000000
--- a/doc/en/Gtk/EnableDeviceHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="EnableDeviceHandler" FullName="Gtk.EnableDeviceHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void EnableDeviceHandler(object o, EnableDeviceArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.InputDialog.EnableDevice" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.EnableDeviceArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.EnableDeviceHandler" /> to an event, add the EnableDeviceHandler instance to the event.  The methods referenced by the EnableDeviceHandler instance are invoked whenever the event is raised, until the EnableDeviceHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.EnableDeviceArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Entry.xml b/doc/en/Gtk/Entry.xml
index 19fd7a7..f448ba3 100644
--- a/doc/en/Gtk/Entry.xml
+++ b/doc/en/Gtk/Entry.xml
@@ -1,6 +1,6 @@
 <Type Name="Entry" FullName="Gtk.Entry">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Entry : Gtk.Widget, Gtk.CellEditable, Gtk.Editable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Entry extends Gtk.Widget implements class GLib.IWrapper, class Gtk.CellEditable, class Gtk.Editable" />
+  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Entry : Gtk.Widget, Gtk.ICellEditable, Gtk.IEditable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Entry extends Gtk.Widget implements class GLib.IWrapper, class Gtk.ICellEditable, class Gtk.IEditable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,10 +12,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellEditable</InterfaceName>
+      <InterfaceName>Gtk.ICellEditable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Editable</InterfaceName>
+      <InterfaceName>Gtk.IEditable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -613,11 +613,11 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       </Docs>
     </Member>
     <Member MemberName="GetIconGicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon GetIconGicon (Gtk.EntryIconPosition icon_pos);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.Icon GetIconGicon(valuetype Gtk.EntryIconPosition icon_pos) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon GetIconGicon (Gtk.EntryIconPosition icon_pos);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IIcon GetIconGicon(valuetype Gtk.EntryIconPosition icon_pos) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="icon_pos" Type="Gtk.EntryIconPosition" />
@@ -1333,8 +1333,8 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       <Docs>
         <param name="p0">To be added.</param>
         <param name="p1">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Entry.IconPress" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Entry.IconPress" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1357,8 +1357,8 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       <Docs>
         <param name="p0">To be added.</param>
         <param name="p1">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Entry.IconRelease" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Entry.IconRelease" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1446,8 +1446,8 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Entry.PreeditChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Entry.PreeditChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1643,8 +1643,8 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       </Docs>
     </Member>
     <Member MemberName="PrimaryIconGicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon PrimaryIconGicon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon PrimaryIconGicon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon PrimaryIconGicon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon PrimaryIconGicon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -1652,7 +1652,7 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -1911,8 +1911,8 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       </Docs>
     </Member>
     <Member MemberName="SecondaryIconGicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon SecondaryIconGicon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon SecondaryIconGicon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon SecondaryIconGicon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon SecondaryIconGicon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -1920,7 +1920,7 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -2141,15 +2141,15 @@ The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts
       </Docs>
     </Member>
     <Member MemberName="SetIconFromGicon">
-      <MemberSignature Language="C#" Value="public void SetIconFromGicon (Gtk.EntryIconPosition icon_pos, GLib.Icon icon);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetIconFromGicon(valuetype Gtk.EntryIconPosition icon_pos, class GLib.Icon icon) cil managed" />
+      <MemberSignature Language="C#" Value="public void SetIconFromGicon (Gtk.EntryIconPosition icon_pos, GLib.IIcon icon);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetIconFromGicon(valuetype Gtk.EntryIconPosition icon_pos, class GLib.IIcon icon) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="icon_pos" Type="Gtk.EntryIconPosition" />
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon_pos">To be added.</param>
diff --git a/doc/en/Gtk/EntryBuffer.xml b/doc/en/Gtk/EntryBuffer.xml
index b44b3c9..9a5e53c 100644
--- a/doc/en/Gtk/EntryBuffer.xml
+++ b/doc/en/Gtk/EntryBuffer.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -144,9 +144,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.EntryBuffer" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -247,8 +247,8 @@
       <Docs>
         <param name="position">To be added.</param>
         <param name="n_chars">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.EntryBuffer.DeletedText" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.EntryBuffer.DeletedText" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -341,8 +341,8 @@
         <param name="position">To be added.</param>
         <param name="chars">To be added.</param>
         <param name="n_chars">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.EntryBuffer.InsertedText" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.EntryBuffer.InsertedText" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/EntryCompletion.xml b/doc/en/Gtk/EntryCompletion.xml
index 15ad587..b164f62 100644
--- a/doc/en/Gtk/EntryCompletion.xml
+++ b/doc/en/Gtk/EntryCompletion.xml
@@ -1,6 +1,6 @@
 <Type Name="EntryCompletion" FullName="Gtk.EntryCompletion">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class EntryCompletion : GLib.Object, Gtk.CellLayout" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit EntryCompletion extends GLib.Object implements class GLib.IWrapper, class Gtk.CellLayout" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class EntryCompletion : GLib.Object, Gtk.ICellLayout" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit EntryCompletion extends GLib.Object implements class GLib.IWrapper, class Gtk.ICellLayout" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,7 +11,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -495,8 +495,8 @@ public class DemoEntryCompletion : Window
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -504,7 +504,7 @@ public class DemoEntryCompletion : Window
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -536,8 +536,8 @@ public class DemoEntryCompletion : Window
       </Docs>
     </Member>
     <Member MemberName="OnCursorOnMatch">
-      <MemberSignature Language="C#" Value="protected virtual bool OnCursorOnMatch (Gtk.TreeModel model, Gtk.TreeIter iter);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCursorOnMatch(class Gtk.TreeModel model, valuetype Gtk.TreeIter iter) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnCursorOnMatch (Gtk.ITreeModel model, Gtk.TreeIter iter);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnCursorOnMatch(class Gtk.ITreeModel model, valuetype Gtk.TreeIter iter) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -548,21 +548,21 @@ public class DemoEntryCompletion : Window
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
         <param name="model">To be added.</param>
         <param name="iter">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.EntryCompletion.CursorOnMatch" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.EntryCompletion.CursorOnMatch" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnMatchSelected">
-      <MemberSignature Language="C#" Value="protected virtual bool OnMatchSelected (Gtk.TreeModel model, Gtk.TreeIter iter);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnMatchSelected(class Gtk.TreeModel model, valuetype Gtk.TreeIter iter) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnMatchSelected (Gtk.ITreeModel model, Gtk.TreeIter iter);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnMatchSelected(class Gtk.ITreeModel model, valuetype Gtk.TreeIter iter) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -573,15 +573,16 @@ public class DemoEntryCompletion : Window
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="model">a <see cref="T:Gtk.TreeModel" />, the model the match was selected from</param>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" />, the row the user picked</param>
-        <summary>This method is called whenever the user selects one of the suggested matches.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks />
+        <param name="model">To be added.</param>
+        <param name="iter">To be added.</param>
+        <summary>Default handler for the <see cref="M:Gtk.EntryCompletion.MatchSelected" /> event.</summary>
+        <returns>To be added.</returns>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.EntryCompletion.MatchSelected" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnPrefixInserted">
diff --git a/doc/en/Gtk/ExposeEventArgs.xml b/doc/en/Gtk/ExposeEventArgs.xml
deleted file mode 100644
index 35700ed..0000000
--- a/doc/en/Gtk/ExposeEventArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="ExposeEventArgs" FullName="Gtk.ExposeEventArgs">
-  <TypeSignature Language="C#" Value="public class ExposeEventArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.ExposeEvent" /> event invokes <see cref="T:Gtk.ExposeEventHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ExposeEventArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.ExposeEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ExposeEventHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Event">
-      <MemberSignature Language="C#" Value="public Gdk.EventExpose Event { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.EventExpose</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The event that caused the widget to be exposed.</summary>
-        <value>A <see cref="E:Gdk.EventExpose" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ExposeEventHandler.xml b/doc/en/Gtk/ExposeEventHandler.xml
deleted file mode 100644
index 2210ad9..0000000
--- a/doc/en/Gtk/ExposeEventHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="ExposeEventHandler" FullName="Gtk.ExposeEventHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ExposeEventHandler(object o, ExposeEventArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.ExposeEvent" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.ExposeEventArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.ExposeEventHandler" /> to an event, add the ExposeEventHandler instance to the event.  The methods referenced by the ExposeEventHandler instance are invoked whenever the event is raised, until the ExposeEventHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ExposeEventArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/FileChooserAdapter.xml b/doc/en/Gtk/FileChooserAdapter.xml
index 80da0a1..5fcd629 100644
--- a/doc/en/Gtk/FileChooserAdapter.xml
+++ b/doc/en/Gtk/FileChooserAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="FileChooserAdapter" FullName="Gtk.FileChooserAdapter">
-  <TypeSignature Language="C#" Value="public class FileChooserAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.FileChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.FileChooser" />
+  <TypeSignature Language="C#" Value="public class FileChooserAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IFileChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IFileChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.FileChooser</InterfaceName>
+      <InterfaceName>Gtk.IFileChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -177,11 +177,11 @@
       </Docs>
     </Member>
     <Member MemberName="CurrentFolderFile">
-      <MemberSignature Language="C#" Value="public GLib.File CurrentFolderFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File CurrentFolderFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile CurrentFolderFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile CurrentFolderFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -272,11 +272,11 @@
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public GLib.File File { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File File" />
+      <MemberSignature Language="C#" Value="public GLib.IFile File { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile File" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -332,11 +332,11 @@
       </Docs>
     </Member>
     <Member MemberName="Files">
-      <MemberSignature Language="C#" Value="public GLib.File[] Files { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File[] Files" />
+      <MemberSignature Language="C#" Value="public GLib.IFile[] Files { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile[] Files" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File[]</ReturnType>
+        <ReturnType>GLib.IFile[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -379,11 +379,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.FileChooser GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.FileChooser GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IFileChooser GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IFileChooser GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.FileChooser</ReturnType>
+        <ReturnType>Gtk.IFileChooser</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -397,11 +397,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.FileChooser GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.FileChooser GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IFileChooser GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IFileChooser GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.FileChooser</ReturnType>
+        <ReturnType>Gtk.IFileChooser</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -416,9 +416,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -478,11 +492,11 @@
       </Docs>
     </Member>
     <Member MemberName="PreviewFile">
-      <MemberSignature Language="C#" Value="public GLib.File PreviewFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File PreviewFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile PreviewFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile PreviewFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -625,14 +639,14 @@
       </Docs>
     </Member>
     <Member MemberName="SelectFile">
-      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -734,14 +748,14 @@
       </Docs>
     </Member>
     <Member MemberName="SetCurrentFolderFile">
-      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -770,14 +784,14 @@
       </Docs>
     </Member>
     <Member MemberName="SetFile">
-      <MemberSignature Language="C#" Value="public bool SetFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -885,14 +899,14 @@
       </Docs>
     </Member>
     <Member MemberName="UnselectFile">
-      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
diff --git a/doc/en/Gtk/FileChooserButton.xml b/doc/en/Gtk/FileChooserButton.xml
index fcc21d7..c6b0d0e 100644
--- a/doc/en/Gtk/FileChooserButton.xml
+++ b/doc/en/Gtk/FileChooserButton.xml
@@ -1,6 +1,6 @@
 <Type Name="FileChooserButton" FullName="Gtk.FileChooserButton">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserButton : Gtk.HBox, Gtk.FileChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserButton extends Gtk.HBox implements class GLib.IWrapper, class Gtk.FileChooser" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserButton : Gtk.HBox, Gtk.IFileChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserButton extends Gtk.HBox implements class GLib.IWrapper, class Gtk.IFileChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,7 +11,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.FileChooser</InterfaceName>
+      <InterfaceName>Gtk.IFileChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -210,11 +210,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="CurrentFolderFile">
-      <MemberSignature Language="C#" Value="public GLib.File CurrentFolderFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File CurrentFolderFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile CurrentFolderFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile CurrentFolderFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -288,11 +288,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public GLib.File File { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File File" />
+      <MemberSignature Language="C#" Value="public GLib.IFile File { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile File" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -345,11 +345,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="Files">
-      <MemberSignature Language="C#" Value="public GLib.File[] Files { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File[] Files" />
+      <MemberSignature Language="C#" Value="public GLib.IFile[] Files { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile[] Files" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File[]</ReturnType>
+        <ReturnType>GLib.IFile[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -528,8 +528,8 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.FileChooserButton.FileSet" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.FileChooserButton.FileSet" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
@@ -570,11 +570,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="PreviewFile">
-      <MemberSignature Language="C#" Value="public GLib.File PreviewFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File PreviewFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile PreviewFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile PreviewFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -709,14 +709,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SelectFile">
-      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -813,14 +813,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SetCurrentFolderFile">
-      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -848,14 +848,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SetFile">
-      <MemberSignature Language="C#" Value="public bool SetFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -976,14 +976,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="UnselectFile">
-      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
diff --git a/doc/en/Gtk/FileChooserDialog.xml b/doc/en/Gtk/FileChooserDialog.xml
index 29eccd6..9a6f6f8 100644
--- a/doc/en/Gtk/FileChooserDialog.xml
+++ b/doc/en/Gtk/FileChooserDialog.xml
@@ -1,6 +1,6 @@
 <Type Name="FileChooserDialog" FullName="Gtk.FileChooserDialog">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserDialog : Gtk.Dialog, Gtk.FileChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserDialog extends Gtk.Dialog implements class GLib.IWrapper, class Gtk.FileChooser" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserDialog : Gtk.Dialog, Gtk.IFileChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserDialog extends Gtk.Dialog implements class GLib.IWrapper, class Gtk.IFileChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,7 +11,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.FileChooser</InterfaceName>
+      <InterfaceName>Gtk.IFileChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -97,37 +97,6 @@ public class MainWindow: Gtk.Window {
         <remarks>By default, a <see cref="T:Gtk.FileChooserDialog" /> comes with no buttons, so you'd better provide at least the most basics one (Save/Cancel or Open/Cancel) or your user won't be able to do anything apart from closing the dialog ( closing the dialog returns <see cref="T:ResponseType" />.None )</remarks>
       </Docs>
     </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public FileChooserDialog (string backend, string title, Gtk.Window parent, Gtk.FileChooserAction action, object[] button_data);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string backend, string title, class Gtk.Window parent, valuetype Gtk.FileChooserAction action, object[] button_data) cil managed" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="backend" Type="System.String" />
-        <Parameter Name="title" Type="System.String" />
-        <Parameter Name="parent" Type="Gtk.Window" />
-        <Parameter Name="action" Type="Gtk.FileChooserAction" />
-        <Parameter Name="button_data" Type="System.Object[]">
-          <Attributes>
-            <Attribute>
-              <AttributeName>System.ParamArray</AttributeName>
-            </Attribute>
-          </Attributes>
-        </Parameter>
-      </Parameters>
-      <Docs>
-        <param name="backend">a <see cref="T:System.String" />, the backend name</param>
-        <param name="title">a title <see cref="T:System.String" /></param>
-        <param name="parent">a parent <see cref="T:Gtk.Window" /> for the dialog, or <see langword="null" />.</param>
-        <param name="action">an action, for example save or open.</param>
-        <param name="button_data">a list of button text/response pairs for buttons to be added to the dialog, if desired.</param>
-        <summary>Creates a file chooser dialog with a specific file chooser backend</summary>
-        <remarks>
-	  This is especially useful if you use <see cref="P:Gtk.FileChooser.LocalOnly" /> to allow
-	  non-local files and you use a more expressive vfs, such as gnome-vfs, to load files.
-	</remarks>
-      </Docs>
-    </Member>
     <Member MemberName="Action">
       <MemberSignature Language="C#" Value="public Gtk.FileChooserAction Action { get; set; }" />
       <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.FileChooserAction Action" />
@@ -309,11 +278,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="CurrentFolderFile">
-      <MemberSignature Language="C#" Value="public GLib.File CurrentFolderFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File CurrentFolderFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile CurrentFolderFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile CurrentFolderFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -398,11 +367,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public GLib.File File { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File File" />
+      <MemberSignature Language="C#" Value="public GLib.IFile File { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile File" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -469,11 +438,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="Files">
-      <MemberSignature Language="C#" Value="public GLib.File[] Files { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File[] Files" />
+      <MemberSignature Language="C#" Value="public GLib.IFile[] Files { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile[] Files" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File[]</ReturnType>
+        <ReturnType>GLib.IFile[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -657,11 +626,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="PreviewFile">
-      <MemberSignature Language="C#" Value="public GLib.File PreviewFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File PreviewFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile PreviewFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile PreviewFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -835,14 +804,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SelectFile">
-      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -965,14 +934,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SetCurrentFolderFile">
-      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -1005,14 +974,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SetFile">
-      <MemberSignature Language="C#" Value="public bool SetFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -1151,14 +1120,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="UnselectFile">
-      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
diff --git a/doc/en/Gtk/FileChooserWidget.xml b/doc/en/Gtk/FileChooserWidget.xml
index 1d86540..c86d1fa 100644
--- a/doc/en/Gtk/FileChooserWidget.xml
+++ b/doc/en/Gtk/FileChooserWidget.xml
@@ -1,6 +1,6 @@
 <Type Name="FileChooserWidget" FullName="Gtk.FileChooserWidget">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserWidget : Gtk.VBox, Gtk.FileChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserWidget extends Gtk.VBox implements class GLib.IWrapper, class Gtk.FileChooser" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class FileChooserWidget : Gtk.VBox, Gtk.IFileChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FileChooserWidget extends Gtk.VBox implements class GLib.IWrapper, class Gtk.IFileChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,7 +11,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.FileChooser</InterfaceName>
+      <InterfaceName>Gtk.IFileChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -227,11 +227,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="CurrentFolderFile">
-      <MemberSignature Language="C#" Value="public GLib.File CurrentFolderFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File CurrentFolderFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile CurrentFolderFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile CurrentFolderFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -315,11 +315,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public GLib.File File { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File File" />
+      <MemberSignature Language="C#" Value="public GLib.IFile File { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile File" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -386,11 +386,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="Files">
-      <MemberSignature Language="C#" Value="public GLib.File[] Files { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File[] Files" />
+      <MemberSignature Language="C#" Value="public GLib.IFile[] Files { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile[] Files" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File[]</ReturnType>
+        <ReturnType>GLib.IFile[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -574,11 +574,11 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="PreviewFile">
-      <MemberSignature Language="C#" Value="public GLib.File PreviewFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File PreviewFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile PreviewFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile PreviewFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -752,14 +752,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SelectFile">
-      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -882,14 +882,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SetCurrentFolderFile">
-      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -922,14 +922,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="SetFile">
-      <MemberSignature Language="C#" Value="public bool SetFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -1059,14 +1059,14 @@ A <see cref="T:Gtk.ConfirmOverwriteHandler" /> connected to this event must set
       </Docs>
     </Member>
     <Member MemberName="UnselectFile">
-      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
diff --git a/doc/en/Gtk/FileSelection+FSButton.xml b/doc/en/Gtk/FileSelection+FSButton.xml
deleted file mode 100644
index ccf500d..0000000
--- a/doc/en/Gtk/FileSelection+FSButton.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<Type Name="FileSelection+FSButton" FullName="Gtk.FileSelection+FSButton">
-  <TypeSignature Language="C#" Value="public class FileSelection.FSButton : Gtk.Button" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>Gtk.Button</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="FileSelection">
-      <MemberSignature Language="C#" Value="public Gtk.FileSelection FileSelection { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.FileSelection</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Returns the parent <see cref="T:Gtk.FileSelection" /></summary>
-        <value>The parent <see cref="T:Gtk.FileSelection" /></value>
-        <remarks>
-          <para>
-            This class is only used by
-            <see cref="T:Gtk.Button" />s embedded inside a
-            <see cref="T:Gtk.FileSelection" />. From the
-            <see cref="P:Gtk.FileSelection.OKButton" />, you can use
-            this property to get back to the parent dialog box.
-          </para>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>
-      Helper class for <see cref="T:Gtk.Button" />s embedded inside a <see cref="T:Gtk.FileSelection" /></summary>
-    <remarks>
-      <para>
-        This class is used as a wrapper around buttons embedded inside
-        a  <see cref="T:Gtk.FileSelection" />. This class exposes an
-        additional property, <see cref="T:Gtk.FileSelection+FSButton.FileSelection" />, which
-        can be used to get back to the parent <see cref="T:Gtk.FileSelection" /> dialog.
-      </para>
-    </remarks>
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/FileSelection.xml b/doc/en/Gtk/FileSelection.xml
deleted file mode 100644
index bc38b28..0000000
--- a/doc/en/Gtk/FileSelection.xml
+++ /dev/null
@@ -1,498 +0,0 @@
-<Type Name="FileSelection" FullName="Gtk.FileSelection">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class FileSelection : Gtk.Dialog" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Creates a new dialog for the user to select one or more files, directories, or cancel.</summary>
-    <remarks>
-      <para>
-        <see cref="T:Gtk.FileSelection" /> should be used to retrieve file or directory names from the user. It will create a new dialog window containing a directory list, and a file list corresponding to the current working directory.
-    </para>
-      <para>
-    The filesystem can be navigated using the directory list or the drop-down history menu. Alternatively, the TAB key can be used to navigate using filename completion - common in text based editors such as emacs and jed.</para>
-      <para>
-    Simple file operations; create directory, delete file, and rename file, are available from buttons at the top of the dialog.</para>
-      <para>
-    The functionality of the <see cref="T:Gtk.FileSelection" /> can be extended by using the available accessors to the buttons and drop downs.
-    </para>
-      <example>
-        <code lang="C#">
-using System;
-using Gtk;
-
-class FileSelectionSample
-{
-	Label lbl;
-	FileSelection fs;
-
-	static void Main ()
-	{
-		new FileSelectionSample ();
-	}
-
-	FileSelectionSample ()
-	{
-		Application.Init ();
-		Window win = new Window ("FileSelectionSample");
-		win.SetDefaultSize (250,200);
-		win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
-		VBox vbox = new VBox (true, 1);
-		win.Add (vbox);
-		Button btn = new Button ("Select a file.");
-		btn.Clicked += new EventHandler (OnButtonClicked);
-		vbox.Add (btn);
-		lbl = new Label ("Selected: ");
-		vbox.Add (lbl);
-		win.ShowAll ()
-
-		fs = new FileSelection ("Choose a file");
-		fs.Response += new ResponseHandler (OnFileSelectionResponse);
-
-		Application.Run ();
-	}
-
-	void OnButtonClicked (object o, EventArgs args)
-	{
-		fs.Run ();
-		fs.Hide ();
-	}
-
-	void OnFileSelectionResponse (object o, ResponseArgs args)
-	{
-		if (args.ResponseId == ResponseType.Ok)
-		{
-			lbl.Text = "Selected: " + fs.Filename;
-		}
-	}
-
-	void OnWinDelete (object o, DeleteEventArgs args)
-	{
-		Application.Quit ();
-	}
-} 
-  </code>
-      </example>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Dialog</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Complete">
-      <MemberSignature Language="C#" Value="public void Complete (string pattern);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="pattern" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Restrict the visible files and directories to those that match the given <paramref name="pattern" />.</summary>
-        <param name="pattern">A simple wildcard pattern such as '*.txt'.</param>
-        <remarks>
-          <para>This method attempts to match <paramref name="pattern" /> to a valid filenames or subdirectories in the current directory. If a match can be made, the matched filename will appear in the text entry field of the <see cref="T:Gtk.FileSelection" />. If a partial match can be made, the "Files" list will contain those file names which have been partially matched, and the "Folders" list will show those directories with a partial match.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ShowFileopButtons">
-      <MemberSignature Language="C#" Value="public void ShowFileopButtons ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Ensures that the file operation buttons are visible.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="HideFileopButtons">
-      <MemberSignature Language="C#" Value="public void HideFileopButtons ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Ensures that the file operation buttons are hidden.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public FileSelection (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public FileSelection (string title);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="title" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>The main way to construct a new file selector.</summary>
-        <param name="title">A title that will appear in the window's title bar.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ActionArea">
-      <MemberSignature Language="C#" Value="public Gtk.HButtonBox ActionArea { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HButtonBox</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The widget enclosing the items that can be acted upon.</summary>
-        <value>an object of type <see cref="T:Gtk.HButtonBox" /></value>
-        <remarks>(FIXME: how is this different from ButtonArea? Gtk+ docs are thin about this.)</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ButtonArea">
-      <MemberSignature Language="C#" Value="public Gtk.HButtonBox ButtonArea { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HButtonBox</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>A widget to contain all the button objects in this dialog.</summary>
-        <value>an object of type <see cref="T:Gtk.HButtonBox" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="FileopRenFile">
-      <MemberSignature Language="C#" Value="public Gtk.Button FileopRenFile { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The 'rename file' button of this file selector.</summary>
-        <value />
-        <remarks>
-          <para>This button may or may not be visible, see <see cref="M:Gtk.FileSelection.ShowFileopButtons()" /> and <see cref="M:Gtk.FileSelection.ShowFileopButtons()" />.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FileopDelFile">
-      <MemberSignature Language="C#" Value="public Gtk.Button FileopDelFile { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The 'delete' button of this file selector.</summary>
-        <value />
-        <remarks>
-          <para>This button may or may not be visible, see <see cref="M:Gtk.FileSelection.ShowFileopButtons()" /> and <see cref="M:Gtk.FileSelection.ShowFileopButtons()" />.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FileopCDir">
-      <MemberSignature Language="C#" Value="public Gtk.Button FileopCDir { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The 'create directory' button of this file selector.</summary>
-        <value />
-        <remarks>
-          <para>This button may or may not be visible, see <see cref="M:Gtk.FileSelection.ShowFileopButtons()" /> and <see cref="M:Gtk.FileSelection.ShowFileopButtons()" />.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FileopFile">
-      <MemberSignature Language="C#" Value="public string FileopFile { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The filename selected by this <see cref="T:Gtk.FileSelection" />.</summary>
-        <value>an object of type <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="FileopEntry">
-      <MemberSignature Language="C#" Value="public Gtk.Entry FileopEntry { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Entry</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The main <see cref="T:Gtk.Entry" /> widget of this <see cref="T:Gtk.FileSelection" />.</summary>
-        <value />
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="FileopDialog">
-      <MemberSignature Language="C#" Value="public Gtk.MessageDialog FileopDialog { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MessageDialog</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The dialog box for confirming actions, if necessary.</summary>
-        <value>an object of type <see cref="T:Gtk.MessageDialog" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="HistoryMenu">
-      <MemberSignature Language="C#" Value="public Gtk.Menu HistoryMenu { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Menu</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The <see cref="T:Gtk.Menu" /> that is displayed by the <see cref="P:Gtk.FileSelection.HistoryPulldown" />.</summary>
-        <value>A menu containing the file system paths higher than the selected directory, and the user's directory history.</value>
-        <remarks>
-          <para>Note that this <see cref="T:Gtk.Widget" /> does not just contain history, it contains a list of directories above the current directory in the filesystem as well as user directory history.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HistoryPulldown">
-      <MemberSignature Language="C#" Value="public Gtk.OptionMenu HistoryPulldown { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.OptionMenu</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The drop down menu containing directories in the filesystem above the selected directory, and the user's directory history.</summary>
-        <value>The <see cref="T:Gtk.OptionMenu" /> at the top of the file selector.</value>
-        <remarks>
-          <para>This widget displays the menu returned by <see cref="P:Gtk.FileSelection.HistoryMenu" />.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HelpButton">
-      <MemberSignature Language="C#" Value="public Gtk.Button HelpButton { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>A help button, not displayed by default.</summary>
-        <value />
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="CancelButton">
-      <MemberSignature Language="C#" Value="public Gtk.Button CancelButton { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The 'cancel' button of this file selector.</summary>
-        <value />
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="OkButton">
-      <MemberSignature Language="C#" Value="public Gtk.Button OkButton { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The 'OK' button of this file selector.</summary>
-        <value />
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectionText">
-      <MemberSignature Language="C#" Value="public Gtk.Label SelectionText { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Label</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The text to display about the file to be selected.</summary>
-        <value>an object of type <see cref="T:Gtk.Label" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectionEntry">
-      <MemberSignature Language="C#" Value="public Gtk.Entry SelectionEntry { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Entry</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The text-entry widget for entering a filename into.</summary>
-        <value>an object of type <see cref="T:Gtk.Entry" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="FileList">
-      <MemberSignature Language="C#" Value="public Gtk.TreeView FileList { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TreeView</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The <see cref="T:Gtk.TreeView" /> widget that displays files in this file selector.</summary>
-        <value />
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DirList">
-      <MemberSignature Language="C#" Value="public Gtk.TreeView DirList { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TreeView</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The <see cref="T:Gtk.TreeView" /> widget that displays directories in this file selector.</summary>
-        <value />
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="MainVBox">
-      <MemberSignature Language="C#" Value="public Gtk.VBox MainVBox { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.VBox</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The main <see cref="T:Gtk.VBox" /> in the file selector.</summary>
-        <value>a <see cref="T:Gtk.VBox" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Selections">
-      <MemberSignature Language="C#" Value="public string[] Selections { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String[]</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Get the files that are selected</summary>
-        <value>An array of file paths</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ShowFileops">
-      <MemberSignature Language="C#" Value="public bool ShowFileops { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Manage whether buttons are displayed for doing file operations.</summary>
-        <value>
-          <see langword="true" /> for buttons to be shown, <see langword="false" /> otherwise.</value>
-        <remarks>
-          <para>This manipulates whether the buttons for creating a directory, deleting files and renaming files, are displayed.</para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("show-fileops")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Filename">
-      <MemberSignature Language="C#" Value="public string Filename { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Manage the selected filename.</summary>
-        <value>The selected filename in the on-disk encoding.</value>
-        <remarks>
-          <para>If <paramref name="value" /> includes a directory path, then the requestor will open with that path as its current working directory. The encoding of filename is the on-disk encoding, which may not be UTF-8.</para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("filename")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SelectMultiple">
-      <MemberSignature Language="C#" Value="public bool SelectMultiple { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Manage whether more than one file can be selected.</summary>
-        <value>
-          <see langword="true" /> if multiple selections are allowed, <see langword="false" /> otherwise.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("select-multiple")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.FileSelection" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected FileSelection (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-</Type>
diff --git a/doc/en/Gtk/FocusChangedArgs.xml b/doc/en/Gtk/FocusChangedArgs.xml
index 7972f0d..7d72040 100644
--- a/doc/en/Gtk/FocusChangedArgs.xml
+++ b/doc/en/Gtk/FocusChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.FocusChanged" /> event invokes <see cref="T:Gtk.FocusChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.FocusChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.FocusChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/FocusChangedHandler.xml b/doc/en/Gtk/FocusChangedHandler.xml
index 0c0ad5f..10f7039 100644
--- a/doc/en/Gtk/FocusChangedHandler.xml
+++ b/doc/en/Gtk/FocusChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.FocusChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.FocusChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.FocusChangedHandler" /> to an event, add the FocusChangedHandler instance to the event.  The methods referenced by the FocusChangedHandler instance are invoked whenever the event is raised, until the FocusChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/FocusHomeOrEndArgs.xml b/doc/en/Gtk/FocusHomeOrEndArgs.xml
index 521a666..78193dd 100644
--- a/doc/en/Gtk/FocusHomeOrEndArgs.xml
+++ b/doc/en/Gtk/FocusHomeOrEndArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Toolbar.FocusHomeOrEnd" /> event invokes <see cref="T:Gtk.FocusHomeOrEndHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.FocusHomeOrEndArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.FocusHomeOrEndHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/FocusHomeOrEndHandler.xml b/doc/en/Gtk/FocusHomeOrEndHandler.xml
index 3815444..65a7f88 100644
--- a/doc/en/Gtk/FocusHomeOrEndHandler.xml
+++ b/doc/en/Gtk/FocusHomeOrEndHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Toolbar.FocusHomeOrEnd" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.FocusHomeOrEndArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.FocusHomeOrEndHandler" /> to an event, add the FocusHomeOrEndHandler instance to the event.  The methods referenced by the FocusHomeOrEndHandler instance are invoked whenever the event is raised, until the FocusHomeOrEndHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/FrameArgs.xml b/doc/en/Gtk/FrameArgs.xml
index 49df19b..d258573 100644
--- a/doc/en/Gtk/FrameArgs.xml
+++ b/doc/en/Gtk/FrameArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Timeline.Frame" /> event invokes <see cref="T:Gtk.FrameHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.FrameArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.FrameHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/FrameEventArgs.xml b/doc/en/Gtk/FrameEventArgs.xml
deleted file mode 100644
index 99148b3..0000000
--- a/doc/en/Gtk/FrameEventArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="FrameEventArgs" FullName="Gtk.FrameEventArgs">
-  <TypeSignature Language="C#" Value="public class FrameEventArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Window.FrameEvent" /> event invokes <see cref="T:Gtk.FrameEventHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public FrameEventArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.FrameEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.FrameEventHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Event">
-      <MemberSignature Language="C#" Value="public Gdk.Event Event { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Event</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The Gdk event related to this FrameEvent.</summary>
-        <value>A <see cref="T:Gdk.Event" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/FrameEventHandler.xml b/doc/en/Gtk/FrameEventHandler.xml
deleted file mode 100644
index 0f424f7..0000000
--- a/doc/en/Gtk/FrameEventHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="FrameEventHandler" FullName="Gtk.FrameEventHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void FrameEventHandler(object o, FrameEventArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Window.FrameEvent" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.FrameEventArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.FrameEventHandler" /> to an event, add the FrameEventHandler instance to the event.  The methods referenced by the FrameEventHandler instance are invoked whenever the event is raised, until the FrameEventHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.FrameEventArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/FrameHandler.xml b/doc/en/Gtk/FrameHandler.xml
index 4d57ce3..442a272 100644
--- a/doc/en/Gtk/FrameHandler.xml
+++ b/doc/en/Gtk/FrameHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Timeline.Frame" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.FrameArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.FrameHandler" /> to an event, add the FrameHandler instance to the event.  The methods referenced by the FrameHandler instance are invoked whenever the event is raised, until the FrameHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Function.xml b/doc/en/Gtk/Function.xml
deleted file mode 100644
index 4f3bffd..0000000
--- a/doc/en/Gtk/Function.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<Type Name="Function" FullName="Gtk.Function">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool Function();" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A delegate for representing a function with a boolean return value.</summary>
-    <remarks />
-    <returns>To be added.</returns>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Boolean</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/GammaCurve.xml b/doc/en/Gtk/GammaCurve.xml
deleted file mode 100644
index f9bd05d..0000000
--- a/doc/en/Gtk/GammaCurve.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<Type Name="GammaCurve" FullName="Gtk.GammaCurve">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class GammaCurve : Gtk.VBox" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>The <see cref="T:Gtk.GammaCurve" /> widget is a variant of <see cref="T:Gtk.Curve" /> specifically for editing gamma curves, which are used in graphics applications such as the Gimp.</summary>
-    <remarks>
-      <para>
-      The <see cref="T:Gtk.GammaCurve" /> widget shows a curve which the user can edit with the mouse just like a <see cref="T:Gtk.Curve" /> widget. On the right of the curve it also displays 5 buttons, 3 of which change between the 3 curve modes (spline, linear and free), and the other 2 set the curve to a particular gamma value, or reset it to a straight line.
-     </para>
-      <para>
-       NOTE: this widget is considered too specialized/little-used for GTK#, and will in the future be moved to some other package. If your application needs this widget, feel free to use it, as the widget does work and is useful in some applications; it's just not of general interest. However, we are not accepting new features for the widget, and it will eventually move out of the GTK# distribution.
-     </para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.VBox</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public GammaCurve (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public GammaCurve ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.GammaCurve" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected GammaCurve (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/Gc.xml b/doc/en/Gtk/Gc.xml
deleted file mode 100644
index bbda587..0000000
--- a/doc/en/Gtk/Gc.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<Type Name="Gc" FullName="Gtk.Gc">
-  <TypeSignature Language="C#" Value="public class Gc" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A shell around <see cref="T:Gdk.GC" />; represents a graphics context.</summary>
-    <remarks>TODO: add examples.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Release">
-      <MemberSignature Language="C#" Value="public static void Release (Gdk.GC gc);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="gc" Type="Gdk.GC" />
-      </Parameters>
-      <Docs>
-        <summary>Releases the <see cref="T:Gdk.GC" /> that is passed in.</summary>
-        <param name="gc">a <see cref="T:Gdk.GC" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Get">
-      <MemberSignature Language="C#" Value="public static Gdk.GC Get (int depth, Gdk.Colormap colormap, Gdk.GCValues values, Gdk.GCValuesMask values_mask);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.GC</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="depth" Type="System.Int32" />
-        <Parameter Name="colormap" Type="Gdk.Colormap" />
-        <Parameter Name="values" Type="Gdk.GCValues" />
-        <Parameter Name="values_mask" Type="Gdk.GCValuesMask" />
-      </Parameters>
-      <Docs>
-        <summary>Returns a <see cref="T:Gdk.GC" /> with the specified values.</summary>
-        <param name="depth">a <see cref="T:System.Int32" /></param>
-        <param name="colormap">a <see cref="T:Gdk.Colormap" /></param>
-        <param name="values">a <see cref="T:Gdk.GCValues" /></param>
-        <param name="values_mask">a <see cref="T:Gdk.GCValuesMask" /></param>
-        <returns>a <see cref="T:Gdk.GC" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Gc ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Basic constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/Grid.xml b/doc/en/Gtk/Grid.xml
index 67adbbc..e185f84 100644
--- a/doc/en/Gtk/Grid.xml
+++ b/doc/en/Gtk/Grid.xml
@@ -1,6 +1,6 @@
 <Type Name="Grid" FullName="Gtk.Grid">
-  <TypeSignature Language="C#" Value="public class Grid : Gtk.Container, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Grid extends Gtk.Container implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Value="public class Grid : Gtk.Container, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Grid extends Gtk.Container implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -139,9 +139,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Grid" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/HRuler.xml b/doc/en/Gtk/HRuler.xml
deleted file mode 100644
index 9747735..0000000
--- a/doc/en/Gtk/HRuler.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="HRuler" FullName="Gtk.HRuler">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class HRuler : Gtk.Ruler" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A horizontal ruler.</summary>
-    <remarks>
-      <para>A horizontal ruler is typically used to show the horizontal location of the mouse in the window and to display the horizontal size of the window in the specified units. The available units of measurement are <see cref="P:Gtk.MetricType.Pixels" />, <see cref="P:Gtk.MetricType.Inches" /> and <see cref="P:Gtk.MetricType.Centimeters" />. The default is <see cref="P:Gtk.MetricType.Pixels" />.</para>
-      <para>A horizontal ruler is typically used above or below another widget such as a <see cref="T:Gtk.DrawingArea" />.</para>
-      <para>Note:- This widget is considered too specialized for GTK+, and will likely be moved to some other package in the future.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Ruler</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HRuler (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HRuler ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates a new horizontal ruler.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.HRuler" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected HRuler (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTML.xml b/doc/en/Gtk/HTML.xml
deleted file mode 100644
index 7cc1eef..0000000
--- a/doc/en/Gtk/HTML.xml
+++ /dev/null
@@ -1,2186 +0,0 @@
-<Type Name="HTML" FullName="Gtk.HTML">
-  <TypeSignature Language="C#" Maintainer="Miguel de Icaza" Value="public class HTML : Gtk.Layout" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Lightweight HTML rendering widget.</summary>
-    <remarks>
-      <para>
-        <see cref="T:Gtk.HTML" /> is a lightweight HTML rendering widget, as well as as
-	simple graphical HTML editor.
-      </para>
-      <para>
-	Developers can also use it as a widget container (<see cref="T:Gtk.Container" />).  It is an easy way for viewing HTML
-	documents in your application and for layout UI of your
-	application throught HTML.
-      </para>
-      <para>
-        <see cref="T:Gtk.HTML" /> does not have support for CSS or JavaScript.
-      </para>
-      <para>
-	The following sample is a very minimal web browser.
-      </para>
-      <para>
-        <example>
-          <code lang="C#">
-using System;
-using System.Net;
-using System.IO;
-using Gtk;
-
-namespace HtmlTest
-{
-        class HtmlTest
-        {
-                HTML html;
-                Entry entry;
-                string currentUrl;
-                
-                static void Main (string[] args)
-                {
-                        new HtmlTest();
-                }
-                
-                HtmlTest()
-                {
-                        Application.Init ();
-                        
-                        Window win = new Window ("HtmlTest");
-                        win.SetDefaultSize (800, 600);
-                        win.DeleteEvent += new DeleteEventHandler (OnWindowDelete);
-                        
-                        VBox vbox = new VBox (false, 1);
-                        win.Add (vbox);
-                        
-                        HBox hbox = new HBox (false, 1);
-                        
-                        Label label = new Label ("Address:");
-                        
-                        entry = new Entry ("");
-                        entry.Activated += new EventHandler (OnEntryActivated);
-                        
-                        Button button = new Button ("Go!");
-                        button.Clicked += new EventHandler (OnButtonClicked);
-                        
-                        hbox.PackStart (label, false, false, 1);
-                        hbox.PackStart (entry, true, true, 1);
-                        hbox.PackStart (button, false, false, 1);
-                        
-                        vbox.PackStart (hbox, false, false, 1);
-                        
-                        ScrolledWindow sw = new ScrolledWindow ();
-                        sw.VscrollbarPolicy = PolicyType.Always;
-                        sw.HscrollbarPolicy = PolicyType.Always;
-                        vbox.PackStart(sw, true, true, 1);
-                        
-                        html = new HTML ();
-                        html.LinkClicked += new LinkClickedHandler (OnLinkClicked);
-                        sw.Add (html);
-                        
-                        win.ShowAll();
-                        Application.Run ();
-                
-                }
-                
-                void OnWindowDelete (object obj, DeleteEventArgs args)
-                {
-                        Application.Quit();
-                }
-                
-                void OnButtonClicked (object obj, EventArgs args)
-                {
-                        currentUrl = entry.Text.Trim();
-                        LoadHtml (currentUrl);
-                }
-                
-                void OnEntryActivated (object obj, EventArgs args)
-                {
-                        OnButtonClicked (obj, args);
-                }
-                
-                void OnLinkClicked (object obj, LinkClickedArgs args)
-                {
-                        string newUrl;
-                        
-                        // decide absolute or relative
-                        if (args.Url.StartsWith("http://")) 
-                                newUrl = args.Url;
-                        else
-                                newUrl = currentUrl + args.Url;
-
-	                try {
-                                LoadHtml (newUrl);
-	                } catch { }
-                        currentUrl = newUrl;
-                }
-                
-                void LoadHtml (string URL)
-                {
-                        HttpWebRequest web_request = (HttpWebRequest) WebRequest.Create (URL);
-                        HttpWebResponse web_response = (HttpWebResponse) web_request.GetResponse ();
-			Stream stream = web_response.GetResponseStream ();
-			byte [] buffer = new byte [8192];
-			
-			HTMLStream html_stream = html.Begin ();
-			int count;
-			
-			while ((count = stream.Read (buffer, 0, 8192)) != 0){
-				html_stream.Write (buffer, count);
-			}
-			html.End (html_stream, HTMLStreamStatus.Ok);
-                }
-        }
-}
-	    </code>
-        </example>
-      </para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Layout</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Construct">
-      <MemberSignature Language="C#" Value="public static void Construct (Gtk.Widget html);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="html" Type="Gtk.Widget" />
-      </Parameters>
-      <Docs>
-        <summary>Constructs an instance of a Gtk.HTML widget</summary>
-        <param name="html">A <see cref="T:Gtk.HTML" /> derivative object.</param>
-        <remarks>This is a low-level routine, and should only be used
-        to initialize an instance of a <see cref="T:Gtk.HTML" /> derivative class.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetObjectById">
-      <MemberSignature Language="C#" Value="public IntPtr GetObjectById (string id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="id" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Locates an object whose id is provided</summary>
-        <param name="id">The id assigned to an object in the HTML stream</param>
-        <returns>An IntPtr to the internal HTMLObject</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Export">
-      <MemberSignature Language="C#" Value="public bool Export (string type, Gtk.HTMLSaveReceiverFn receiver);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="type" Type="System.String" />
-        <Parameter Name="receiver" Type="Gtk.HTMLSaveReceiverFn" />
-      </Parameters>
-      <Docs>
-        <summary>Sends HTML out from the widget.</summary>
-        <param name="type">a <see cref="T:System.String" />, a content type.</param>
-        <param name="receiver">an object of type <see cref="T:Gtk.HTMLSaveReceiverFn" /></param>
-        <returns>a <see cref="T:System.Boolean" />, true if the export happened successfully, false if otherwise.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="public void Copy ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Copies the selection to the clipboard.</summary>
-        <remarks>Copies the selection into the clipboard.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectWord">
-      <MemberSignature Language="C#" Value="public void SelectWord ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Selects the word under the cursor.</summary>
-        <remarks>This routine selects the word under the cursor.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ToggleFontStyle">
-      <MemberSignature Language="C#" Value="public void ToggleFontStyle (Gtk.HTMLFontStyle style);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.HTMLFontStyle" />
-      </Parameters>
-      <Docs>
-        <summary>Changes the font style by adjusting flags from bold to regular or vice-versa. For a full list of possible flags, see <see cref="T:Gtk.HTMLFontStyle" />. </summary>
-        <param name="style">a <see cref="T:Gtk.HTMLFontStyle" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectParagraph">
-      <MemberSignature Language="C#" Value="public void SelectParagraph ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Selects a paragraph.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ZoomReset">
-      <MemberSignature Language="C#" Value="public void ZoomReset ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Resets the magnification of the text to 100% (normal).</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Write">
-      <MemberSignature Language="C#" Value="public void Write (Gtk.HTMLStream handle, string buffer, ulong size);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="handle" Type="Gtk.HTMLStream" />
-        <Parameter Name="buffer" Type="System.String" />
-        <Parameter Name="size" Type="System.UInt64" />
-      </Parameters>
-      <Docs>
-        <summary>Writes <paramref name="size" /> bytes of content from <paramref name="buffer" /> to <paramref name="handle" />.</summary>
-        <param name="handle">a <see cref="T:Gtk.HTMLStream" /></param>
-        <param name="buffer">a <see cref="T:System.String" /></param>
-        <param name="size">a <see cref="T:System.UInt64" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Undo">
-      <MemberSignature Language="C#" Value="public void Undo ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Undoes the last operation.</summary>
-        <remarks>If the widget is Editable, this undoes the last operation.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Cut">
-      <MemberSignature Language="C#" Value="public void Cut ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Cuts the selection into the clipboard.</summary>
-        <remarks>If the widget is editable, this cuts the selection
-        into the clipboard;  Otherwise it just copies the selection
-        into the clipboard.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetUrlBaseRelative">
-      <MemberSignature Language="C#" Value="public string GetUrlBaseRelative (string url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Computes url from widget base url.</summary>
-        <param name="url">The new component of the url.</param>
-        <returns>The new base-relative url.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="UpdateStyles">
-      <MemberSignature Language="C#" Value="public void UpdateStyles ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>This method is designed to be called after the style, indentation, or other font attributes of an editable HTML widget have changed.</summary>
-        <remarks>When this is called, it will trigger the emission of signals for paragraphs whose indentation or style has changed.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Begin">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLStream Begin ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStream</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Starts incremental content updating.</summary>
-        <returns>A <see cref="T:Gtk.HTMLStream" /> handle to push content.</returns>
-        <remarks>
-          <para>
-	    Use the Begin method to push new HTML content into the
-	    widget.  The content type is expected to be in the format
-	    defined by <see cref="P:Gtk.HTML.DefaultContentType" />,
-	    which by default is "html/text; charset=utf-8".
-	  </para>
-          <example>
-            <code lang="C#">
-using System;
-using Gtk;
-
-class X {
-
-        static void Main ()
-        {
-                Application.Init ();
-                Window w = new Window ("Sample");
-                HTML html = new HTML ();
-                w.Add (html);
-                w.ShowAll ();
-
-                HTMLStream s = html.Begin ();
-                string line;
-
-                while ((line = Console.ReadLine ()) != null)
-                        s.Write (line);
-	        html.End (s, HTMLStreamStatus.Ok);
-                Application.Run ();
-        }
-}
-
-	    </code>
-          </example>
-          <para>
-	    Compile and run:
-	  </para>
-          <para>
-	    mcs sample.cs -pkg:gtkhtml-sharp
-	  </para>
-          <para>
-	    echo "<html>
-              <body>Hello <b>World</b></body>
-            </html>" | mono sample.exe
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ImagesRef">
-      <MemberSignature Language="C#" Value="public void ImagesRef ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets up internal references to all images.</summary>
-        <remarks>FIXME: verify this.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Paste">
-      <MemberSignature Language="C#" Value="public void Paste (bool as_cite);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="as_cite" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Paste clipboard contents into editor</summary>
-        <param name="as_cite">Whether to paste as a citation.</param>
-        <remarks>
-	  If the widget is in editing mode (see <see cref="P:Gtk.HTML.Editable" />), the contents of the clipboard
-	  are pasted into the HTML editor.  If the value of <paramref name="as_cite" /> is true, then the contents are pasted
-	  as a citation.
-	</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="LoadEmpty">
-      <MemberSignature Language="C#" Value="public void LoadEmpty ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Set up an empty <see cref="T:Gtk.HTML" /> widget.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="End">
-      <MemberSignature Language="C#" Value="public void End (Gtk.HTMLStream handle, Gtk.HTMLStreamStatus status);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="handle" Type="Gtk.HTMLStream" />
-        <Parameter Name="status" Type="Gtk.HTMLStreamStatus" />
-      </Parameters>
-      <Docs>
-        <summary>Ends incremental updating</summary>
-        <param name="handle">The <see cref="T:Gtk.HTMLStream" /> to close.</param>
-        <param name="status">The <see cref="T:Gtk.HTMLStreamStatus" /> representing the state of the stream when closed.</param>
-        <remarks>
-          <para>
-	    Closes the <see cref="Gtk.HTMLStream" /> represented
-	    by <paramref name="stream" /> and notifies the HTML widget that
-	    it should not expect any more content from that stream.
-	  </para>
-          <example>
-            <code lang="C#">
-using System;
-using Gtk;
-
-class X {
-
-        static void Main ()
-        {
-                Application.Init ();
-                Window w = new Window ("Sample");
-                HTML html = new HTML ();
-                w.Add (html);
-                w.ShowAll ();
-
-                HTMLStream s = html.Begin ();
-                string line;
-
-                while ((line = Console.ReadLine ()) != null)
-                        s.Write (line);
-	        html.End (s, HTMLStreamStatus.Ok);
-                Application.Run ();
-        }
-}
-
-	    </code>
-          </example>
-          <para>
-	    Compile and run:
-	  </para>
-          <para>
-	    mcs sample.cs -pkg:gtkhtml-sharp
-	  </para>
-          <para>
-	    echo "<html>
-              <body>Hello <b>World</b></body>
-            </html>" | mono sample.exe
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Redo">
-      <MemberSignature Language="C#" Value="public void Redo ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Redoes the last Undone operation</summary>
-        <remarks>If the widget is editable, this redoes the last
-        undone operation.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AppendHtml">
-      <MemberSignature Language="C#" Value="public void AppendHtml (string html_src);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="html_src" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Adds HTML to the end of the HTML currently being rendered by the widget.</summary>
-        <param name="html_src">an object of type <see cref="T:System.String" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectLine">
-      <MemberSignature Language="C#" Value="public void SelectLine ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Selects the line the cursor is currently on.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="IndentPopLevel">
-      <MemberSignature Language="C#" Value="public void IndentPopLevel ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Removes an indent level.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SelectAll">
-      <MemberSignature Language="C#" Value="public void SelectAll ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Selects all the contents.</summary>
-        <remarks>Selects all of the contents of the HTML widget.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Begin">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLStream Begin (string target_frame, string content_type, Gtk.HTMLBeginFlags flags);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStream</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="target_frame" Type="System.String" />
-        <Parameter Name="content_type" Type="System.String" />
-        <Parameter Name="flags" Type="Gtk.HTMLBeginFlags" />
-      </Parameters>
-      <Docs>
-        <summary>Begins processing HTML.</summary>
-        <param name="target_frame">an object of type <see cref="T:System.String" /></param>
-        <param name="content_type">an object of type <see cref="T:System.String" /></param>
-        <param name="flags">an object of type <see cref="T:Gtk.HTMLBeginFlags" /></param>
-        <returns>an object of type <see cref="T:Gtk.HTMLStream" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="EnableDebug">
-      <MemberSignature Language="C#" Value="public void EnableDebug (bool debug);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="debug" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Enables or disables debugging features.</summary>
-        <param name="debug">an object of type <see cref="T:System.Boolean" />, true for enabled, false for disabled</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="EditMakeCursorVisible">
-      <MemberSignature Language="C#" Value="public bool EditMakeCursorVisible ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Makes the edit cursor visible.</summary>
-        <returns>a <see cref="T:System.Boolean" />, true if the operation was a success.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetEditorApi">
-      <MemberSignature Language="C#" Value="public void SetEditorApi (Gtk.HTMLEditorAPI api, IntPtr data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="api" Type="Gtk.HTMLEditorAPI" />
-        <Parameter Name="data" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Unsupported in Gtk#.  Installs hooks for the editor.</summary>
-        <param name="api">an object of type <see cref="T:Gtk.HTMLEditorAPI" /></param>
-        <param name="data">an object of type <see cref="T:System.IntPtr" /></param>
-        <remarks>This API is currently not supported.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertGtkHtml">
-      <MemberSignature Language="C#" Value="public void InsertGtkHtml (Gtk.HTML to_be_destroyed);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="to_be_destroyed" Type="Gtk.HTML" />
-      </Parameters>
-      <Docs>
-        <summary>To be added.</summary>
-        <param name="to_be_destroyed">an object of type <see cref="T:Gtk.HTML" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ZoomIn">
-      <MemberSignature Language="C#" Value="public void ZoomIn ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Zooms in.</summary>
-        <remarks>Zooms in the view.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertHtml">
-      <MemberSignature Language="C#" Value="public void InsertHtml (string html_src);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="html_src" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Inserts HTML into the existing HTML of the widget.</summary>
-        <param name="html_src">an object of type <see cref="T:System.String" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetFontStyle">
-      <MemberSignature Language="C#" Value="public void SetFontStyle (Gtk.HTMLFontStyle and_mask, Gtk.HTMLFontStyle or_mask);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="and_mask" Type="Gtk.HTMLFontStyle" />
-        <Parameter Name="or_mask" Type="Gtk.HTMLFontStyle" />
-      </Parameters>
-      <Docs>
-        <summary>Sets the font style for the widget.</summary>
-        <param name="and_mask">an object of type <see cref="T:Gtk.HTMLFontStyle" /></param>
-        <param name="or_mask">an object of type <see cref="T:Gtk.HTMLFontStyle" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ImageUnref">
-      <MemberSignature Language="C#" Value="public void ImageUnref (string url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Unrefs an image.</summary>
-        <param name="url">an object of type <see cref="T:System.String" /></param>
-        <remarks>(TODO: explain refcounting for images.)</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ImageRef">
-      <MemberSignature Language="C#" Value="public void ImageRef (string url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Refs an image.</summary>
-        <param name="url">an object of type <see cref="T:System.String" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="JumpToAnchor">
-      <MemberSignature Language="C#" Value="public bool JumpToAnchor (string anchor);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="anchor" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Jumps to an anchor by name, making it visible.</summary>
-        <param name="anchor">The anchor to locate.</param>
-        <returns>
-          <see langword="true" /> if the anchor is found.</returns>
-        <remarks>Scroll the document display to show the HTML anchor requested.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ImagePreload">
-      <MemberSignature Language="C#" Value="public void ImagePreload (string url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Preloads the image at the URL <paramref name="url" /></summary>
-        <param name="url">a <see cref="T:System.String" />, an image URL.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="RequestPaste">
-      <MemberSignature Language="C#" Value="public int RequestPaste (Gdk.Atom selection, int type, int time, bool as_cite);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="selection" Type="Gdk.Atom" />
-        <Parameter Name="type" Type="System.Int32" />
-        <Parameter Name="time" Type="System.Int32" />
-        <Parameter Name="as_cite" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="selection">an object of type <see cref="T:Gdk.Atom" /></param>
-        <param name="type">an object of type <see cref="T:System.Int32" /></param>
-        <param name="time">an object of type <see cref="T:System.Int32" /></param>
-        <param name="as_cite">an object of type <see cref="T:System.Boolean" /></param>
-        <returns>an object of type <see cref="T:System.Int32" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ImagesUnref">
-      <MemberSignature Language="C#" Value="public void ImagesUnref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Unrefs images.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Save">
-      <MemberSignature Language="C#" Value="public bool Save (Gtk.HTMLSaveReceiverFn receiver);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="receiver" Type="Gtk.HTMLSaveReceiverFn" />
-      </Parameters>
-      <Docs>
-        <summary>Invokes a delegate function to save the HTML.</summary>
-        <param name="receiver">a <see cref="T:Gtk.HTMLSaveReceiverFn" /></param>
-        <returns>an object of type <see cref="T:System.Boolean" />, whether the operation succeeded.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Begin">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLStream Begin (string content_type);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStream</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="content_type" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Starts incremental content updating. With a specific
-        content type.</summary>
-        <param name="content_type">The content type for the data to be
-        streamed.</param>
-        <returns>A <see cref="T:Gtk.HTMLStream" /> handle to push content.</returns>
-        <remarks>
-          <para>
-	    Use the Begin method to push new HTML content into the
-	    widget.  The content type has to be specified (like this
-	    for example: "html/text; charset=utf-8").
-	  </para>
-          <example>
-            <code lang="C#">
-using System;
-using Gtk;
-
-class X {
-
-        static void Main ()
-        {
-                Application.Init ();
-                Window w = new Window ("Sample");
-                HTML html = new HTML ();
-                w.Add (html);
-                w.ShowAll ();
-
-                HTMLStream s = html.Begin ("text/html; charset=utf-8");
-                string line;
-
-                while ((line = Console.ReadLine ()) != null)
-                        s.Write (line);
-	        html.End (s, HTMLStreamStatus.Ok);
-                Application.Run ();
-        }
-}
-
-	    </code>
-          </example>
-          <para>
-	    Compile and run:
-	  </para>
-          <para>
-	    mcs sample.cs -pkg:gtkhtml-sharp
-	  </para>
-          <para>
-	    echo "<html>
-              <body>Hello <b>World</b></body>
-            </html>" | mono sample.exe
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AllowSelection">
-      <MemberSignature Language="C#" Value="public void AllowSelection (bool allow);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="allow" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <summary>Set whether selection is allowed in this widget.</summary>
-        <param name="allow">an object of type <see cref="T:System.Boolean" />, true if selection is allowed.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DropUndo">
-      <MemberSignature Language="C#" Value="public void DropUndo ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Drops all the undo information.</summary>
-        <remarks>Drops all the Undo and Redo information from the widget.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectParagraphExtended">
-      <MemberSignature Language="C#" Value="public void SelectParagraphExtended ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ZoomOut">
-      <MemberSignature Language="C#" Value="public void ZoomOut ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Zooms out.</summary>
-        <remarks>Zooms out the view.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Command">
-      <MemberSignature Language="C#" Value="public bool Command (string command_name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="command_name" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Execute a command on the widget.</summary>
-        <param name="command_name">an object of type <see cref="T:System.String" />, one of the values named in <see cref="T:Gtk.HTMLCommandType" />.</param>
-        <returns>an object of type <see cref="T:System.Boolean" /> for whether the command succeeded.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTML (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTML ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates an empty <see cref="T:Gtk.HTML" /> widget.</summary>
-        <remarks>
-          <para>
-	    It creates an empty <see cref="T:Gtk.HTML" /> widget.  The
-	    returned widget is empty, and defaults to not be editable.
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Editable">
-      <MemberSignature Language="C#" Value="public bool Editable { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether the contents can be edited.</summary>
-        <value>
-          <see langword="true" /> if the contents are editable,
-        <see langword="false" />otherwise. </value>
-        <remarks>
-	  Whether this <see cref="T:Gtk.HTML" /> instance can be used as an HTML
-	  editor.  Note:  <see cref="M:Gtk.HTML.Begin" /> must be called before this can be set = <see langword="true" />.
-	</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("editable")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="ParagraphIndentation">
-      <MemberSignature Language="C#" Value="public uint ParagraphIndentation { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The indentation level of a paragraph.</summary>
-        <value>an object of type <see cref="T:System.UInt32" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Base">
-      <MemberSignature Language="C#" Value="public string Base { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The base URL of this document.</summary>
-        <value>an object of type <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Title">
-      <MemberSignature Language="C#" Value="public string Title { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The title of this HTML document.</summary>
-        <value>an object of type <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("title")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="DefaultContentType">
-      <MemberSignature Language="C#" Value="public string DefaultContentType { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The default content type.</summary>
-        <value>an object of type <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyle">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLParagraphStyle ParagraphStyle { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The style of a paragraph.</summary>
-        <value>an object of type <see cref="T:Gtk.HTMLParagraphStyle" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Blocking">
-      <MemberSignature Language="C#" Value="public bool Blocking { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <value>an object of type <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Magnification">
-      <MemberSignature Language="C#" Value="public double Magnification { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The current widget magnification level.</summary>
-        <value>an object of type <see cref="T:System.Double" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphAlignment">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLParagraphAlignment ParagraphAlignment { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphAlignment</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The alignment of text (right, left, center)</summary>
-        <value>an object of type <see cref="T:Gtk.HTMLParagraphAlignment" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="AllowFrameset">
-      <MemberSignature Language="C#" Value="public bool AllowFrameset { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether to allow framesets in this widget.</summary>
-        <value>an object of type <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="InsertionFontStyleChanged">
-      <MemberSignature Language="C#" Value="public event Gtk.InsertionFontStyleChangedHandler InsertionFontStyleChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.InsertionFontStyleChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the font style under the cursor is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("insertion_font_style_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="TitleChanged">
-      <MemberSignature Language="C#" Value="public event Gtk.TitleChangedHandler TitleChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TitleChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Occurs when the title changes in HTML</summary>
-        <remarks>
-	  This event is raised when the HTML parser encounters the
-	  <title> tag on the HTML stream.  To get the title, use
-	  the <see cref="P:Gtk.HTML.Title" /> property.
-	</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("title_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SetBase">
-      <MemberSignature Language="C#" Value="public event Gtk.SetBaseHandler SetBase;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SetBaseHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the base URL of the document is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("set_base")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SizeChanged">
-      <MemberSignature Language="C#" Value="public event EventHandler SizeChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the size of text is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("size_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CurrentParagraphStyleChanged">
-      <MemberSignature Language="C#" Value="public event Gtk.CurrentParagraphStyleChangedHandler CurrentParagraphStyleChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurrentParagraphStyleChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the text style of this paragraph is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("current_paragraph_style_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="LoadDone">
-      <MemberSignature Language="C#" Value="public event EventHandler LoadDone;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised after a webpage is finished loading.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("load_done")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CursorMove">
-      <MemberSignature Language="C#" Value="public event Gtk.CursorMoveHandler CursorMove;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CursorMoveHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Occurs when the cursor moves.</summary>
-        <remarks>
-	  This event is raised when the widget is in editing mode and
-	  the cursor has moved.
-	</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("cursor_move")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="OnCommand">
-      <MemberSignature Language="C#" Value="public event Gtk.OnCommandHandler OnCommand;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.OnCommandHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when a command is issued to the widget.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("command")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="UrlRequested">
-      <MemberSignature Language="C#" Value="public event Gtk.UrlRequestedHandler UrlRequested;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.UrlRequestedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Occurs when a url is Requested</summary>
-        <remarks>
-          <para>
-	    This event is raised when an URL is requested (typically
-	    an image).  
-	  </para>
-          <para>
-	    The following example shows how a simple HTML source that
-	    requests an image (hello.png).  If the file is found, then
-	    it will be streamed into the HTML widget.  The model
-	    allows for data to be delivered as it comes, and when the
-	    data has all arrived, the End method can be invoked on the
-	    html stream provided by the <see cref="P:Gtk.UrlRequestedArgs.Handle" />.
-	  </para>
-          <example>
-            <code lang="C#">
-using System;
-using System.IO;
-using Gtk;
-
-class X {
-
-        static void Main ()
-        {
-                Application.Init ();
-                Window w = new Window ("Sample");
-                HTML html = new HTML ();
-                html.UrlRequested += new UrlRequestedHandler (LoadFromDisk);
-                w.Add (html);
-                w.ShowAll ();
-
-                HTMLStream s = html.Begin ();
-                s.Write ("<html><body>My image: <img src=\"hello.png\"></body></html>");
-                html.End (s, HTMLStreamStatus.Ok);
-                Application.Run ();
-        }
-
-        static void LoadFromDisk (object sender, UrlRequestedArgs args)
-        {
-	        try {
-                	FileStream s = File.OpenRead (args.Url);
-                	byte [] buffer = new byte [8192];
-                	int n;
-			
-                	while ((n = s.Read (buffer, 0, 8192)) != 0) {
-                	        args.Handle.Write (buffer, n);
-                	}
-	      		args.Handle.Close (HTMLStreamStatus.Ok);
-	        } catch {
-	        	// Ignore errors.
-	        }
-        }
-}
-	    </code>
-          </example>
-          <para>
-	    Make sure there is a "hello.png" file in your directory to
-	    see it, otherwise the sample will show the "broken image
-	    link" image.
-	  </para>
-          <para>
-	    mcs sample.cs -pkg:gtkhtml-sharp
-	  </para>
-          <para>
-	    mono sample.exe
-	  </para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("url_requested")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="IframeCreated">
-      <MemberSignature Language="C#" Value="public event Gtk.IframeCreatedHandler IframeCreated;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.IframeCreatedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised after an IFRAME is created.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("iframe_created")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Scroll">
-      <MemberSignature Language="C#" Value="public event Gtk.ScrollHandler Scroll;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ScrollHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the widget is scrolled.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("scroll")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CurrentParagraphIndentationChanged">
-      <MemberSignature Language="C#" Value="public event Gtk.CurrentParagraphIndentationChangedHandler CurrentParagraphIndentationChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurrentParagraphIndentationChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the indent level of the current paragraph is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("current_paragraph_indentation_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="CurrentParagraphAlignmentChanged">
-      <MemberSignature Language="C#" Value="public event Gtk.CurrentParagraphAlignmentChangedHandler CurrentParagraphAlignmentChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CurrentParagraphAlignmentChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the alignment of the current paragraph is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("current_paragraph_alignment_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="InsertionColorChanged">
-      <MemberSignature Language="C#" Value="public event Gtk.InsertionColorChangedHandler InsertionColorChanged;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.InsertionColorChangedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the text color to insert is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("insertion_color_changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="LinkClicked">
-      <MemberSignature Language="C#" Value="public event Gtk.LinkClickedHandler LinkClicked;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.LinkClickedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Occurs when the user clicks on a hyperlink</summary>
-        <remarks>
-          <para>
-	    This event is raised when the user clicks on a hyperlink
-	    in the HTML widget.
-	  </para>
-          <example>
-            <code lang="C#">
-using System;
-using System.IO;
-using Gtk;
-
-class X {
-
-        static void Main ()
-        {
-                Application.Init ();
-                Window w = new Window ("Sample");
-                HTML html = new HTML ("<html><body>Click <a href=\"http://www.go-mono.com\">me</a>");
-                html.LinkClicked += new LinkClickedHandler (OnLinkClicked);
-                w.Add (html);
-                w.ShowAll ();
-                Application.Run ();
-        }
-
-        static void OnLinkClicked (object o, LinkClickedArgs args)
-        {
-                Console.WriteLine ("The link clicked url is: " + args.Url);
-        }
-}
-	    </code>
-          </example>
-          <para>
-	    mcs sample.cs -pkg:gtkhtml-sharp
-	  </para>
-          <para>
-	    mono sample.exe
-	  </para>
-          <para>
-	    Click on the "me" link to see the message on the console.
-	  </para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("link_clicked")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Submit">
-      <MemberSignature Language="C#" Value="public event Gtk.SubmitHandler Submit;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SubmitHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when a form submit button is clicked.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("submit")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Redirect">
-      <MemberSignature Language="C#" Value="public event Gtk.RedirectHandler Redirect;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.RedirectHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when an HTTP redirect is received.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("redirect")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="OnUrl">
-      <MemberSignature Language="C#" Value="public event Gtk.OnUrlHandler OnUrl;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.OnUrlHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Occurs when the user hovers over a hyper-link.</summary>
-        <remarks>
-          <para>
-	    This event is raised when the mouse pointer hovers over a
-	    hyper link or leaves a link.  In the former case the value
-	    of <see cref="P:Gtk.OnUrlHandler.Url" /> is the link
-	    target, and in the later the empty string.
-	  </para>
-          <example>
-            <code lang="C#">
-using System;
-using System.IO;
-using Gtk;
-
-class X {
-
-        static void Main ()
-        {
-                Application.Init ();
-                Window w = new Window ("Sample");
-                HTML html = new HTML ("<html><body>Click <a href=\"http://www.go-mono.com\">me</a>");
-                html.OnUrl += new OnUrlHandler (OnUrl);
-                w.Add (html);
-                w.ShowAll ();
-                Application.Run ();
-        }
-
-        static void OnUrl (object o, OnUrlArgs args)
-        {
-                Console.WriteLine ("The mouse is over: " + args.Url);
-        }
-}
-	    </code>
-          </example>
-          <para>
-	    mcs sample.cs -pkg:gtkhtml-sharp
-	  </para>
-          <para>
-	    mono sample.exe
-	  </para>
-          <para>
-	    Hover in and out of the link to see the effects on the console.
-	  </para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("on_url")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SetBaseTarget">
-      <MemberSignature Language="C#" Value="public event Gtk.SetBaseTargetHandler SetBaseTarget;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SetBaseTargetHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the base URL target is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("set_base_target")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="LoadFromString">
-      <MemberSignature Language="C#" Value="public void LoadFromString (string str);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="str" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Load a string into the HTML viewing widget.</summary>
-        <param name="str">The string to load.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTML (string Astr);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="Astr" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>A constructor.</summary>
-        <param name="Astr">an object of type <see cref="T:System.String" />(FIXME: check this)</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DocumentBase">
-      <MemberSignature Language="C#" Value="public string DocumentBase { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The base URL of the document.</summary>
-        <value>A <see cref="T:System.String" /> containing the URL.</value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("document_base")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="TargetBase">
-      <MemberSignature Language="C#" Value="public string TargetBase { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <value>an object of type <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("target_base")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="MagicLinks">
-      <MemberSignature Language="C#" Value="public bool MagicLinks { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether magic links (auto-recognizing URLs and making them clickable) is activated.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="MagicSmileys">
-      <MemberSignature Language="C#" Value="public bool MagicSmileys { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether magic smileys (automatically recognizing smileys and turning them into small graphics) is activated.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Animate">
-      <MemberSignature Language="C#" Value="public bool Animate { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="InlineSpelling">
-      <MemberSignature Language="C#" Value="public bool InlineSpelling { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether or not to check spelling inline by indicating misspelled words.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="PrintWithHeaderFooter">
-      <MemberSignature Language="C#" Value="public void PrintWithHeaderFooter (Gnome.PrintContext print_context, double header_height, double footer_height, Gtk.HTMLPrintCallback header_print, Gtk.HTMLPrintCallback footer_print);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="print_context" Type="Gnome.PrintContext" />
-        <Parameter Name="header_height" Type="System.Double" />
-        <Parameter Name="footer_height" Type="System.Double" />
-        <Parameter Name="header_print" Type="Gtk.HTMLPrintCallback" />
-        <Parameter Name="footer_print" Type="Gtk.HTMLPrintCallback" />
-      </Parameters>
-      <Docs>
-        <summary>Adds a header and footer to the HTML and prints it using <paramref name="print_context" />.</summary>
-        <param name="print_context">a <see cref="T:Gnome.PrintContext" /></param>
-        <param name="header_height">a <see cref="T:System.Double" /></param>
-        <param name="footer_height">a <see cref="T:System.Double" /></param>
-        <param name="header_print">a <see cref="T:Gtk.HTMLPrintCallback" />, a header generation routine</param>
-        <param name="footer_print">a <see cref="T:Gtk.HTMLPrintCallback" />, a footer generation routine</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="PrintSetMaster">
-      <MemberSignature Language="C#" Value="public void PrintSetMaster (Gnome.PrintJob print_master);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="print_master" Type="Gnome.PrintJob" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="print_master">a <see cref="T:Gnome.PrintJob" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Print">
-      <MemberSignature Language="C#" Value="public void Print (Gnome.PrintContext print_context);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="print_context" Type="Gnome.PrintContext" />
-      </Parameters>
-      <Docs>
-        <summary>Prints this document using <paramref name="print_context" />.</summary>
-        <param name="print_context">a <see cref="T:Gnome.PrintContext" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="PrintGetPagesNum">
-      <MemberSignature Language="C#" Value="public int PrintGetPagesNum (Gnome.PrintContext print_context, double header_height, double footer_height);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="print_context" Type="Gnome.PrintContext" />
-        <Parameter Name="header_height" Type="System.Double" />
-        <Parameter Name="footer_height" Type="System.Double" />
-      </Parameters>
-      <Docs>
-        <summary>Gets the number of pages this HTML would print to given a context <paramref name="print_context" /> with the given header and footer heights.</summary>
-        <param name="print_context">a <see cref="T:Gnome.PrintContext" /></param>
-        <param name="header_height">a <see cref="T:System.Double" /></param>
-        <param name="footer_height">a <see cref="T:System.Double" /></param>
-        <returns>a <see cref="T:System.Int32" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ObjectRequested">
-      <MemberSignature Language="C#" Value="public event Gtk.ObjectRequestedHandler ObjectRequested;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ObjectRequestedHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("object_requested")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="HasUndo">
-      <MemberSignature Language="C#" Value="public bool HasUndo { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Whether the widget has an Undo option or not.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.HTML" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnSetBaseTarget">
-      <MemberSignature Language="C#" Value="protected virtual void OnSetBaseTarget (string base_url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="base_url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.SetBaseTarget" /> event.</summary>
-        <param name="base_url">a <see cref="T:System.String" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.SetBaseTarget" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnObjectRequested">
-      <MemberSignature Language="C#" Value="protected virtual bool OnObjectRequested (Gtk.HTMLEmbedded arg2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="arg2" Type="Gtk.HTMLEmbedded" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.ObjectRequested" /> event.</summary>
-        <param name="arg2">a <see cref="T:Gtk.HTMLEmbedded" /></param>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.ObjectRequested" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnOnUrl">
-      <MemberSignature Language="C#" Value="protected virtual void OnOnUrl (string url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.OnUrl" /> event.</summary>
-        <param name="url">a <see cref="T:System.String" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.OnUrl" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnRedirect">
-      <MemberSignature Language="C#" Value="protected virtual void OnRedirect (string url, int delay);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-        <Parameter Name="delay" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.Redirect" /> event.</summary>
-        <param name="url">a <see cref="T:System.String" /></param>
-        <param name="delay">a <see cref="T:System.Int32" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.Redirect" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnSubmit">
-      <MemberSignature Language="C#" Value="protected virtual void OnSubmit (string method, string url, string encoding);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="method" Type="System.String" />
-        <Parameter Name="url" Type="System.String" />
-        <Parameter Name="encoding" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.Submit" /> event.</summary>
-        <param name="method">a <see cref="T:System.String" /></param>
-        <param name="url">a <see cref="T:System.String" /></param>
-        <param name="encoding">a <see cref="T:System.String" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.Submit" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnLinkClicked">
-      <MemberSignature Language="C#" Value="protected virtual void OnLinkClicked (string url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.LinkClicked" /> event.</summary>
-        <param name="url">a <see cref="T:System.String" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.LinkClicked" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnInsertionColorChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnInsertionColorChanged (Gdk.Color color);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="color" Type="Gdk.Color" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.InsertionColorChanged" /> event.</summary>
-        <param name="color">a <see cref="T:Gdk.Color" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.InsertionColorChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnCurrentParagraphAlignmentChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnCurrentParagraphAlignmentChanged (Gtk.HTMLParagraphAlignment new_alignment);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="new_alignment" Type="Gtk.HTMLParagraphAlignment" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.CurrentParagraphAlignmentChanged" /> event.</summary>
-        <param name="new_alignment">a <see cref="T:Gtk.HTMLParagraphAlignment" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.CurrentParagraphAlignmentChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnCurrentParagraphIndentationChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnCurrentParagraphIndentationChanged (uint new_indentation);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="new_indentation" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.CurrentParagraphIndentationChanged" /> event.</summary>
-        <param name="new_indentation">a <see cref="T:System.UInt32" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.CurrentParagraphIndentationChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnScroll">
-      <MemberSignature Language="C#" Value="protected virtual void OnScroll (Gtk.Orientation orientation, Gtk.ScrollType scroll_type, float position);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="orientation" Type="Gtk.Orientation" />
-        <Parameter Name="scroll_type" Type="Gtk.ScrollType" />
-        <Parameter Name="position" Type="System.Single" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.Scroll" /> event.</summary>
-        <param name="orientation">a <see cref="T:Gtk.Orientation" /></param>
-        <param name="scroll_type">a <see cref="T:Gtk.ScrollType" /></param>
-        <param name="position">a <see cref="T:System.Single" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.Scroll" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnIframeCreated">
-      <MemberSignature Language="C#" Value="protected virtual void OnIframeCreated (Gtk.HTML iframe);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="iframe" Type="Gtk.HTML" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.IframeCreated" /> event.</summary>
-        <param name="iframe">a <see cref="T:Gtk.HTML" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.IframeCreated" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnOnCommand">
-      <MemberSignature Language="C#" Value="protected virtual bool OnOnCommand (Gtk.HTMLCommandType com_type);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="com_type" Type="Gtk.HTMLCommandType" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.OnCommand" /> event.</summary>
-        <param name="com_type">a <see cref="T:Gtk.HTMLCommandType" /></param>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.OnCommand" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnCursorMove">
-      <MemberSignature Language="C#" Value="protected virtual void OnCursorMove (Gtk.DirectionType dir_type, Gtk.HTMLCursorSkipType skip);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dir_type" Type="Gtk.DirectionType" />
-        <Parameter Name="skip" Type="Gtk.HTMLCursorSkipType" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.CursorMove" /> event.</summary>
-        <param name="dir_type">a <see cref="T:Gtk.DirectionType" /></param>
-        <param name="skip">a <see cref="T:Gtk.HTMLCursorSkipType" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.CursorMove" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnLoadDone">
-      <MemberSignature Language="C#" Value="protected virtual void OnLoadDone ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.LoadDone" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.LoadDone" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnCurrentParagraphStyleChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnCurrentParagraphStyleChanged (Gtk.HTMLParagraphStyle new_style);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="new_style" Type="Gtk.HTMLParagraphStyle" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.CurrentParagraphStyleChanged" /> event.</summary>
-        <param name="new_style">a <see cref="T:Gtk.HTMLParagraphStyle" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.CurrentParagraphStyleChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnSizeChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnSizeChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.SizeChanged" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.SizeChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnSetBase">
-      <MemberSignature Language="C#" Value="protected virtual void OnSetBase (string base_url);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="base_url" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.SetBase" /> event.</summary>
-        <param name="base_url">a <see cref="T:System.String" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.SetBase" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnTitleChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnTitleChanged (string new_title);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="new_title" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.TitleChanged" /> event.</summary>
-        <param name="new_title">a <see cref="T:System.String" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.TitleChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnInsertionFontStyleChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnInsertionFontStyleChanged (Gtk.HTMLFontStyle style);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="style" Type="Gtk.HTMLFontStyle" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.InsertionFontStyleChanged" /> event.</summary>
-        <param name="style">a <see cref="T:Gtk.HTMLFontStyle" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.InsertionFontStyleChanged" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected HTML (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Indent">
-      <MemberSignature Language="C#" Value="public IntPtr Indent { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Sets the indentation level for the widget.</summary>
-        <value>a <see cref="T:System.IntPtr" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="OnUrlRequested">
-      <MemberSignature Language="C#" Value="protected virtual void OnUrlRequested (string url, Gtk.HTMLStream handle);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="url" Type="System.String" />
-        <Parameter Name="handle" Type="Gtk.HTMLStream" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTML.UrlRequested" /> event.</summary>
-        <param name="url">a <see cref="T:System.String" /></param>
-        <param name="handle">a <see cref="T:Gtk.HTMLStream" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTML.UrlRequested" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Write">
-      <MemberSignature Language="C#" Value="public void Write (Gtk.HTMLStream handle, string buffer, int size);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="handle" Type="Gtk.HTMLStream" />
-        <Parameter Name="buffer" Type="System.String" />
-        <Parameter Name="size" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Writes <paramref name="size" /> bytes of content from <paramref name="buffer" /> to <paramref name="handle" />.</summary>
-        <param name="handle">a <see cref="T:Gtk.HTMLStream" /></param>
-        <param name="buffer">a <see cref="T:System.String" /></param>
-        <param name="size">a <see cref="T:System.Int32" /></param>
-        <remarks>Use the overload with ulong size for 64 bit deployments. </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLBeginFlags.xml b/doc/en/Gtk/HTMLBeginFlags.xml
deleted file mode 100644
index 9f97147..0000000
--- a/doc/en/Gtk/HTMLBeginFlags.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<Type Name="HTMLBeginFlags" FullName="Gtk.HTMLBeginFlags">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLBeginFlags" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Flags for how to begin processing a chunk of HTML.</summary>
-    <remarks>Mostly for internal use.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Flags</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="BlockImages">
-      <MemberSignature Language="C#" Value="BlockImages" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="BlockUpdates">
-      <MemberSignature Language="C#" Value="BlockUpdates" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="KeepImages">
-      <MemberSignature Language="C#" Value="KeepImages" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="KeepScroll">
-      <MemberSignature Language="C#" Value="KeepScroll" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="BlockImages">
-      <MemberSignature Language="C#" Value="BlockImages" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="BlockUpdates">
-      <MemberSignature Language="C#" Value="BlockUpdates" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="KeepImages">
-      <MemberSignature Language="C#" Value="KeepImages" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="KeepScroll">
-      <MemberSignature Language="C#" Value="KeepScroll" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLBeginFlags</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLClassProperties.xml b/doc/en/Gtk/HTMLClassProperties.xml
deleted file mode 100644
index 22d4b55..0000000
--- a/doc/en/Gtk/HTMLClassProperties.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<Type Name="HTMLClassProperties" FullName="Gtk.HTMLClassProperties">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class HTMLClassProperties : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A properties class for <see cref="T:Gtk.HTML" />.</summary>
-    <remarks>Internal. Do not use.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTMLClassProperties (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLCommandType.xml b/doc/en/Gtk/HTMLCommandType.xml
deleted file mode 100644
index ee3710c..0000000
--- a/doc/en/Gtk/HTMLCommandType.xml
+++ /dev/null
@@ -1,2052 +0,0 @@
-<Type Name="HTMLCommandType" FullName="Gtk.HTMLCommandType">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLCommandType" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration of commands that <see cref="T:GtkHTML" /> knows how to respond to.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Undo">
-      <MemberSignature Language="C#" Value="Undo" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Undo the last command</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Redo">
-      <MemberSignature Language="C#" Value="Redo" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Redo the last un-done command.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Copy">
-      <MemberSignature Language="C#" Value="Copy" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Copy the current selection.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CopyAndDisableSelection">
-      <MemberSignature Language="C#" Value="CopyAndDisableSelection" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Copy the current selection and make further selection impossible.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Cut">
-      <MemberSignature Language="C#" Value="Cut" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Cut the current selection.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Paste">
-      <MemberSignature Language="C#" Value="Paste" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Paste the current clipboard contents.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CutLine">
-      <MemberSignature Language="C#" Value="CutLine" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Cut the current line to the clipboard.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertParagraph">
-      <MemberSignature Language="C#" Value="InsertParagraph" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a new paragraph at the cursor location.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertTab">
-      <MemberSignature Language="C#" Value="InsertTab" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a tab character.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertRule">
-      <MemberSignature Language="C#" Value="InsertRule" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a rule line.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertRuleParam">
-      <MemberSignature Language="C#" Value="InsertRuleParam" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert parameters for a rule line.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertImageParam">
-      <MemberSignature Language="C#" Value="InsertImageParam" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert parameters for an image.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertTabOrIndentMore">
-      <MemberSignature Language="C#" Value="InsertTabOrIndentMore" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Add a new tab or increase the current indent level.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertTabOrNextCell">
-      <MemberSignature Language="C#" Value="InsertTabOrNextCell" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a new tab or go to the next table in a cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="MakeLink">
-      <MemberSignature Language="C#" Value="MakeLink" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Create a new link.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveLink">
-      <MemberSignature Language="C#" Value="RemoveLink" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Remove an existing link.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Delete">
-      <MemberSignature Language="C#" Value="Delete" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteBack">
-      <MemberSignature Language="C#" Value="DeleteBack" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete the character before the cursor.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteBackOrIndentDec">
-      <MemberSignature Language="C#" Value="DeleteBackOrIndentDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete the character before the cursor or remove an indent level.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectionMode">
-      <MemberSignature Language="C#" Value="SelectionMode" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Go into selection mode.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DisableSelection">
-      <MemberSignature Language="C#" Value="DisableSelection" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Disable selections.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BoldOn">
-      <MemberSignature Language="C#" Value="BoldOn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make text bold.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BoldOff">
-      <MemberSignature Language="C#" Value="BoldOff" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make text non-bold.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BoldToggle">
-      <MemberSignature Language="C#" Value="BoldToggle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Toggle the bold style for a character or region.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ItalicOn">
-      <MemberSignature Language="C#" Value="ItalicOn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make text italic.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ItalicOff">
-      <MemberSignature Language="C#" Value="ItalicOff" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make text non-italic.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ItalicToggle">
-      <MemberSignature Language="C#" Value="ItalicToggle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Toggle the italic attribute for a character or block of text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UnderlineOn">
-      <MemberSignature Language="C#" Value="UnderlineOn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make text underlined.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UnderlineOff">
-      <MemberSignature Language="C#" Value="UnderlineOff" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make text non-underlined.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UnderlineToggle">
-      <MemberSignature Language="C#" Value="UnderlineToggle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Toggle the underline attribute on a character or block of text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="StrikeoutOn">
-      <MemberSignature Language="C#" Value="StrikeoutOn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Strike out text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="StrikeoutOff">
-      <MemberSignature Language="C#" Value="StrikeoutOff" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Remove strikeouts from text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="StrikeoutToggle">
-      <MemberSignature Language="C#" Value="StrikeoutToggle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Toggle the strikeout attribute on a character or block of text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizeMinus2">
-      <MemberSignature Language="C#" Value="SizeMinus2" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to the smallest size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizeMinus1">
-      <MemberSignature Language="C#" Value="SizeMinus1" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to the second-smallest size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizePlus0">
-      <MemberSignature Language="C#" Value="SizePlus0" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to normal size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizePlus1">
-      <MemberSignature Language="C#" Value="SizePlus1" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to a medium-large size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizePlus2">
-      <MemberSignature Language="C#" Value="SizePlus2" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to a large size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizePlus3">
-      <MemberSignature Language="C#" Value="SizePlus3" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to a very large size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizePlus4">
-      <MemberSignature Language="C#" Value="SizePlus4" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets text to the largest possible size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizeIncrease">
-      <MemberSignature Language="C#" Value="SizeIncrease" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Makes text one size larger.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizeDecrease">
-      <MemberSignature Language="C#" Value="SizeDecrease" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Makes text one size smaller.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AlignLeft">
-      <MemberSignature Language="C#" Value="AlignLeft" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Left-aligns text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AlignCenter">
-      <MemberSignature Language="C#" Value="AlignCenter" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Center-aligns text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AlignRight">
-      <MemberSignature Language="C#" Value="AlignRight" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Right-aligns text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IndentZero">
-      <MemberSignature Language="C#" Value="IndentZero" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Clears indent values on text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IndentInc">
-      <MemberSignature Language="C#" Value="IndentInc" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indents text one level.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IndentIncOrNextCell">
-      <MemberSignature Language="C#" Value="IndentIncOrNextCell" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indents text one level or moves it to the next cell in a table.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IndentDec">
-      <MemberSignature Language="C#" Value="IndentDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>De-indents text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="PrevCell">
-      <MemberSignature Language="C#" Value="PrevCell" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Goes to the previous cell in a table.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IndentParagraph">
-      <MemberSignature Language="C#" Value="IndentParagraph" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indents an entire paragraph.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BreakAndFillLine">
-      <MemberSignature Language="C#" Value="BreakAndFillLine" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Adds a new linebreak and re-flows text appropriately.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SpaceAndFillLine">
-      <MemberSignature Language="C#" Value="SpaceAndFillLine" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Adds a new space and re-flows text appropriately.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleNormal">
-      <MemberSignature Language="C#" Value="ParagraphStyleNormal" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets the style of this paragraph to normal.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleH1">
-      <MemberSignature Language="C#" Value="ParagraphStyleH1" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML H1 element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleH2">
-      <MemberSignature Language="C#" Value="ParagraphStyleH2" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML H2 element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleH3">
-      <MemberSignature Language="C#" Value="ParagraphStyleH3" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML H3 element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleH4">
-      <MemberSignature Language="C#" Value="ParagraphStyleH4" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML H4 element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleH5">
-      <MemberSignature Language="C#" Value="ParagraphStyleH5" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML H5 element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleH6">
-      <MemberSignature Language="C#" Value="ParagraphStyleH6" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML H6 element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleAddress">
-      <MemberSignature Language="C#" Value="ParagraphStyleAddress" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML <address> element.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStylePre">
-      <MemberSignature Language="C#" Value="ParagraphStylePre" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be preformatted (i.e. fixed-width with carriage returns being significant).</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleItemdotted">
-      <MemberSignature Language="C#" Value="ParagraphStyleItemdotted" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be an HTML <LI> item.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleItemroman">
-      <MemberSignature Language="C#" Value="ParagraphStyleItemroman" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be part of a sequentially-Roman-numeral-numbered list.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleItemdigit">
-      <MemberSignature Language="C#" Value="ParagraphStyleItemdigit" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be part of a sequentially-numbered list.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParagraphStyleItemalpha">
-      <MemberSignature Language="C#" Value="ParagraphStyleItemalpha" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Sets this paragraph to be part of a sequentially-alphabetically-numbered list ("a. Item one; b. Item two; c. Item three.")</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionUp">
-      <MemberSignature Language="C#" Value="ModifySelectionUp" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection up.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionDown">
-      <MemberSignature Language="C#" Value="ModifySelectionDown" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection down.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionLeft">
-      <MemberSignature Language="C#" Value="ModifySelectionLeft" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection to the left.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionRight">
-      <MemberSignature Language="C#" Value="ModifySelectionRight" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection to the right.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionPageup">
-      <MemberSignature Language="C#" Value="ModifySelectionPageup" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection by one page upwards.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionPagedown">
-      <MemberSignature Language="C#" Value="ModifySelectionPagedown" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection by one page downwards.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionBol">
-      <MemberSignature Language="C#" Value="ModifySelectionBol" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection to the beginning of the line.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionEol">
-      <MemberSignature Language="C#" Value="ModifySelectionEol" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extends the current selection to the end of the line.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionBod">
-      <MemberSignature Language="C#" Value="ModifySelectionBod" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extend the selection to the beginning of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionEod">
-      <MemberSignature Language="C#" Value="ModifySelectionEod" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extend the selection to the end of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionPrevWord">
-      <MemberSignature Language="C#" Value="ModifySelectionPrevWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extend the selection to include the previous word.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ModifySelectionNextWord">
-      <MemberSignature Language="C#" Value="ModifySelectionNextWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Extend the selection to include the next word.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CapitalizeWord">
-      <MemberSignature Language="C#" Value="CapitalizeWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Capitalize the current word.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UpcaseWord">
-      <MemberSignature Language="C#" Value="UpcaseWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Turns this word into all-upper-case.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DowncaseWord">
-      <MemberSignature Language="C#" Value="DowncaseWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Turns this word into all-lower-case.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SpellSuggest">
-      <MemberSignature Language="C#" Value="SpellSuggest" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Suggest a spelling for the current (misspelled) word.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SpellPersonalDictionaryAdd">
-      <MemberSignature Language="C#" Value="SpellPersonalDictionaryAdd" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Add this word to the user's personal spellchecker dictionary.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SpellSessionDictionaryAdd">
-      <MemberSignature Language="C#" Value="SpellSessionDictionaryAdd" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Add this word to the spellchecker dictionary for this session, so that it doesn't show up as misspelled.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Search">
-      <MemberSignature Language="C#" Value="Search" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Search the widget for a given term.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SearchIncrementalForward">
-      <MemberSignature Language="C#" Value="SearchIncrementalForward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Incremental search forward.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SearchIncrementalBackward">
-      <MemberSignature Language="C#" Value="SearchIncrementalBackward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Incremental search backward.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SearchRegex">
-      <MemberSignature Language="C#" Value="SearchRegex" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Search the text using a regular expression.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FocusForward">
-      <MemberSignature Language="C#" Value="FocusForward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Move focus forward one widget.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FocusBackward">
-      <MemberSignature Language="C#" Value="FocusBackward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Move focus backward one widget.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="PopupMenu">
-      <MemberSignature Language="C#" Value="PopupMenu" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Popup the context menu.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="PropertiesDialog">
-      <MemberSignature Language="C#" Value="PropertiesDialog" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Pop up the properties dialog.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CursorForward">
-      <MemberSignature Language="C#" Value="CursorForward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Move the cursor forward.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CursorBackward">
-      <MemberSignature Language="C#" Value="CursorBackward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Move the cursor backward.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="InsertTable11">
-      <MemberSignature Language="C#" Value="InsertTable11" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a table with empty text, one row, and one column.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableInsertColAfter">
-      <MemberSignature Language="C#" Value="TableInsertColAfter" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a table column after the current one.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableInsertColBefore">
-      <MemberSignature Language="C#" Value="TableInsertColBefore" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a table column before the current one.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableInsertRowAfter">
-      <MemberSignature Language="C#" Value="TableInsertRowAfter" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a table row after the current one.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableInsertRowBefore">
-      <MemberSignature Language="C#" Value="TableInsertRowBefore" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Insert a table row before the current one.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableDeleteCol">
-      <MemberSignature Language="C#" Value="TableDeleteCol" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete a table column.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableDeleteRow">
-      <MemberSignature Language="C#" Value="TableDeleteRow" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete a row from the current table.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellIncCspan">
-      <MemberSignature Language="C#" Value="TableCellIncCspan" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Widen/increase the COLSPAN attribute for a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellDecCspan">
-      <MemberSignature Language="C#" Value="TableCellDecCspan" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Narrow/decrease the COLSPAN attribute for a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellIncRspan">
-      <MemberSignature Language="C#" Value="TableCellIncRspan" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Increase the ROWSPAN attribute for a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellDecRspan">
-      <MemberSignature Language="C#" Value="TableCellDecRspan" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Decrease the ROWSPAN attribute for a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellJoinLeft">
-      <MemberSignature Language="C#" Value="TableCellJoinLeft" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Join this table cell with one to its left.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellJoinRight">
-      <MemberSignature Language="C#" Value="TableCellJoinRight" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Join this table cell with one to its right.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellJoinUp">
-      <MemberSignature Language="C#" Value="TableCellJoinUp" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Join this table cell with one above it.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableCellJoinDown">
-      <MemberSignature Language="C#" Value="TableCellJoinDown" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Join this table cell with one below it.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableBorderWidthInc">
-      <MemberSignature Language="C#" Value="TableBorderWidthInc" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make the borders of this table wider.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableBorderWidthDec">
-      <MemberSignature Language="C#" Value="TableBorderWidthDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make the borders of this table narrower.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableBorderWidthZero">
-      <MemberSignature Language="C#" Value="TableBorderWidthZero" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make the borders of this table zero.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TextSetDefaultColor">
-      <MemberSignature Language="C#" Value="TextSetDefaultColor" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Set the default color of text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectWord">
-      <MemberSignature Language="C#" Value="SelectWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Select the current word.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectLine">
-      <MemberSignature Language="C#" Value="SelectLine" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Select the current line.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectParagraph">
-      <MemberSignature Language="C#" Value="SelectParagraph" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Select the current paragraph.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectParagraphExtended">
-      <MemberSignature Language="C#" Value="SelectParagraphExtended" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Select a paragraph or more.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SelectAll">
-      <MemberSignature Language="C#" Value="SelectAll" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Select all of this document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CursorPositionSave">
-      <MemberSignature Language="C#" Value="CursorPositionSave" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Save the cursor's current position to the cursor position stack.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CursorPositionRestore">
-      <MemberSignature Language="C#" Value="CursorPositionRestore" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Restores a cursor position that was saved to the cursor position stack.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CursorBod">
-      <MemberSignature Language="C#" Value="CursorBod" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Move the cursor to the beginning of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CursorEod">
-      <MemberSignature Language="C#" Value="CursorEod" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Move the cursor to the end of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BlockRedraw">
-      <MemberSignature Language="C#" Value="BlockRedraw" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Stops the widget from redrawing.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UnblockRedraw">
-      <MemberSignature Language="C#" Value="UnblockRedraw" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Allows the widget to redraw.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ZoomIn">
-      <MemberSignature Language="C#" Value="ZoomIn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Magnify the text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ZoomOut">
-      <MemberSignature Language="C#" Value="ZoomOut" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make the text display size smaller.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ZoomReset">
-      <MemberSignature Language="C#" Value="ZoomReset" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Reset the zoom level to normal size text.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableSpacingInc">
-      <MemberSignature Language="C#" Value="TableSpacingInc" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Increase the spacing between table cells.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableSpacingDec">
-      <MemberSignature Language="C#" Value="TableSpacingDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Decrease the spacing between table cells.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TableSpacingZero">
-      <MemberSignature Language="C#" Value="TableSpacingZero" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Make the spacing between table cells zero.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TablePaddingInc">
-      <MemberSignature Language="C#" Value="TablePaddingInc" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Increase the padding between table cells.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TablePaddingDec">
-      <MemberSignature Language="C#" Value="TablePaddingDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Decrease the padding between table cells.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TablePaddingZero">
-      <MemberSignature Language="C#" Value="TablePaddingZero" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Set the padding between table cells to zero.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteTable">
-      <MemberSignature Language="C#" Value="DeleteTable" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete an entire table.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteTableRow">
-      <MemberSignature Language="C#" Value="DeleteTableRow" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete a row from a table.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteTableColumn">
-      <MemberSignature Language="C#" Value="DeleteTableColumn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Delete a column from a table.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteTableCellContents">
-      <MemberSignature Language="C#" Value="DeleteTableCellContents" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Clear the contents of a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GrabFocus">
-      <MemberSignature Language="C#" Value="GrabFocus" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Grab the keyboard focus.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="KillWord">
-      <MemberSignature Language="C#" Value="KillWord" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Deletes a word.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="KillWordBackward">
-      <MemberSignature Language="C#" Value="KillWordBackward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Deletes the word before the cursor.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TextColorApply">
-      <MemberSignature Language="C#" Value="TextColorApply" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Apply a certain color to a text selection.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SaveDataOn">
-      <MemberSignature Language="C#" Value="SaveDataOn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Turn data-saving on.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SaveDataOff">
-      <MemberSignature Language="C#" Value="SaveDataOff" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Turn data-saving off.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Saved">
-      <MemberSignature Language="C#" Value="Saved" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Whether this data has been saved since the last change.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IsSaved">
-      <MemberSignature Language="C#" Value="IsSaved" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Whether this data has been saved since the last change.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ScrollBod">
-      <MemberSignature Language="C#" Value="ScrollBod" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Go to the beginning of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ScrollEod">
-      <MemberSignature Language="C#" Value="ScrollEod" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Go to the end of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CellCspanInc">
-      <MemberSignature Language="C#" Value="CellCspanInc" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Increase the COLSPAN value of a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CellRspanInc">
-      <MemberSignature Language="C#" Value="CellRspanInc" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Increase the ROWSPAN value of a table cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CellCspanDec">
-      <MemberSignature Language="C#" Value="CellCspanDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Decrease the COLSPAN attribute of a cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CellRspanDec">
-      <MemberSignature Language="C#" Value="CellRspanDec" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Decrease the ROWSPAN attribute of a cell.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BlockSelection">
-      <MemberSignature Language="C#" Value="BlockSelection" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="EditableOff">
-      <MemberSignature Language="C#" Value="EditableOff" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="EditableOn">
-      <MemberSignature Language="C#" Value="EditableOn" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="IsSelectionActive">
-      <MemberSignature Language="C#" Value="IsSelectionActive" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="ScrollBackward">
-      <MemberSignature Language="C#" Value="ScrollBackward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="ScrollForward">
-      <MemberSignature Language="C#" Value="ScrollForward" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="UnblockSelection">
-      <MemberSignature Language="C#" Value="UnblockSelection" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLCursorSkipType.xml b/doc/en/Gtk/HTMLCursorSkipType.xml
deleted file mode 100644
index 259941c..0000000
--- a/doc/en/Gtk/HTMLCursorSkipType.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="HTMLCursorSkipType" FullName="Gtk.HTMLCursorSkipType">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLCursorSkipType" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Units for allowing the HTML widget's cursor to skip.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="One">
-      <MemberSignature Language="C#" Value="One" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCursorSkipType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Skip units should be counted in characters.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Word">
-      <MemberSignature Language="C#" Value="Word" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCursorSkipType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Skip units should be counted in words.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Page">
-      <MemberSignature Language="C#" Value="Page" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCursorSkipType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Skip units should be counted in pages.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="All">
-      <MemberSignature Language="C#" Value="All" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCursorSkipType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Skip units should encompass the whole document. Use for skipping to the beginning or end of the document.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="None">
-      <MemberSignature Language="C#" Value="None" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCursorSkipType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLEditorAPI.xml b/doc/en/Gtk/HTMLEditorAPI.xml
deleted file mode 100644
index 41b15df..0000000
--- a/doc/en/Gtk/HTMLEditorAPI.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="HTMLEditorAPI" FullName="Gtk.HTMLEditorAPI">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct HTMLEditorAPI" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Hooks for an HTML editor. Currently unsupported in Gtk#.</summary>
-    <remarks>See <see cref="M:Gtk.HTML.SetEditorApi" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.HTMLEditorAPI Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEditorAPI</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An empty object.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.HTMLEditorAPI New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEditorAPI</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Default constructor.</summary>
-        <param name="raw">A <see cref="T:IntPtr" />, pointer to the underlying C object.</param>
-        <returns>A <see cref="T:Gtk.HTMLEditorAPI" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLEditorEventType.xml b/doc/en/Gtk/HTMLEditorEventType.xml
deleted file mode 100644
index c94cb63..0000000
--- a/doc/en/Gtk/HTMLEditorEventType.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<Type Name="HTMLEditorEventType" FullName="Gtk.HTMLEditorEventType">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLEditorEventType" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration of possible kinds of HTML editing events.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="CommandBefore">
-      <MemberSignature Language="C#" Value="CommandBefore" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEditorEventType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CommandAfter">
-      <MemberSignature Language="C#" Value="CommandAfter" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEditorEventType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ImageUrl">
-      <MemberSignature Language="C#" Value="ImageUrl" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEditorEventType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Delete">
-      <MemberSignature Language="C#" Value="Delete" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEditorEventType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A deletion.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLEmbedded.xml b/doc/en/Gtk/HTMLEmbedded.xml
deleted file mode 100644
index 4e72ce8..0000000
--- a/doc/en/Gtk/HTMLEmbedded.xml
+++ /dev/null
@@ -1,339 +0,0 @@
-<Type Name="HTMLEmbedded" FullName="Gtk.HTMLEmbedded">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class HTMLEmbedded : Gtk.Bin" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Embeds an HTML object.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Bin</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTMLEmbedded (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.HTMLEmbedded" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Descent">
-      <MemberSignature Language="C#" Value="public int Descent { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:System.Int32" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawPrint">
-      <MemberSignature Language="C#" Value="public event Gtk.DrawPrintHandler DrawPrint;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.DrawPrintHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("draw_print")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Changed">
-      <MemberSignature Language="C#" Value="public event EventHandler Changed;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised when the HTML is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="DrawGdk">
-      <MemberSignature Language="C#" Value="public event Gtk.DrawGdkHandler DrawGdk;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.DrawGdkHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("draw_gdk")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTMLEmbedded.Changed" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTMLEmbedded.Changed" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnDrawGdk">
-      <MemberSignature Language="C#" Value="protected virtual void OnDrawGdk (Gdk.Pixmap arg2, Gdk.GC arg3, int arg4, int arg5);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="arg2" Type="Gdk.Pixmap" />
-        <Parameter Name="arg3" Type="Gdk.GC" />
-        <Parameter Name="arg4" Type="System.Int32" />
-        <Parameter Name="arg5" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.HTMLEmbedded.DrawGdk" /> event.</summary>
-        <param name="arg2">a <see cref="T:Gdk.Pixmap" /></param>
-        <param name="arg3">a <see cref="T:Gdk.GC" /></param>
-        <param name="arg4">a <see cref="T:System.Int32" /></param>
-        <param name="arg5">a <see cref="T:System.Int32" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.HTMLEmbedded.DrawGdk" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetParameter">
-      <MemberSignature Language="C#" Value="public string GetParameter (string param);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="param" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="param">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.String" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetParameter">
-      <MemberSignature Language="C#" Value="public void SetParameter (string param, string value);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="param" Type="System.String" />
-        <Parameter Name="value" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="param">a <see cref="T:System.String" /></param>
-        <param name="value">a <see cref="T:System.String" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected HTMLEmbedded (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTMLEmbedded (string classid, string name, string type, string data, int width, int height);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="classid" Type="System.String" />
-        <Parameter Name="name" Type="System.String" />
-        <Parameter Name="type" Type="System.String" />
-        <Parameter Name="data" Type="System.String" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="classid">a <see cref="T:System.String" /></param>
-        <param name="name">a <see cref="T:System.String" /></param>
-        <param name="type">a <see cref="T:System.String" /></param>
-        <param name="data">a <see cref="T:System.String" /></param>
-        <param name="width">a <see cref="T:System.Int32" /></param>
-        <param name="height">a <see cref="T:System.Int32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected HTMLEmbedded (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <param name="gtype">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTMLEmbedded (string classid, string name, string type, string data, int width, int height);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="classid" Type="System.String" />
-        <Parameter Name="name" Type="System.String" />
-        <Parameter Name="type" Type="System.String" />
-        <Parameter Name="data" Type="System.String" />
-        <Parameter Name="width" Type="System.Int32" />
-        <Parameter Name="height" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="classid">To be added.</param>
-        <param name="name">To be added.</param>
-        <param name="type">To be added.</param>
-        <param name="data">To be added.</param>
-        <param name="width">To be added.</param>
-        <param name="height">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetParameter">
-      <MemberSignature Language="C#" Value="public string GetParameter (string param);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="param" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="param">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnDrawGdk">
-      <MemberSignature Language="C#" Value="protected virtual void OnDrawGdk (Gdk.Pixmap arg2, Gdk.GC arg3, int arg4, int arg5);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="arg2" Type="Gdk.Pixmap" />
-        <Parameter Name="arg3" Type="Gdk.GC" />
-        <Parameter Name="arg4" Type="System.Int32" />
-        <Parameter Name="arg5" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="arg2">To be added.</param>
-        <param name="arg3">To be added.</param>
-        <param name="arg4">To be added.</param>
-        <param name="arg5">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnDrawPrint">
-      <MemberSignature Language="C#" Value="protected virtual void OnDrawPrint (Gtk.PrintContext arg2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="arg2" Type="Gtk.PrintContext" />
-      </Parameters>
-      <Docs>
-        <param name="arg2">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetParameter">
-      <MemberSignature Language="C#" Value="public void SetParameter (string param, string value);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="param" Type="System.String" />
-        <Parameter Name="value" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="param">To be added.</param>
-        <param name="value">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLFontStyle.xml b/doc/en/Gtk/HTMLFontStyle.xml
deleted file mode 100644
index 94ead1d..0000000
--- a/doc/en/Gtk/HTMLFontStyle.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<Type Name="HTMLFontStyle" FullName="Gtk.HTMLFontStyle">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLFontStyle" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration of possible font styles within a <see cref="T:Gtk.HTML" /> widget.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Flags</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Default">
-      <MemberSignature Language="C#" Value="Default" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The default style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size1">
-      <MemberSignature Language="C#" Value="Size1" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The smallest text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size2">
-      <MemberSignature Language="C#" Value="Size2" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A small text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size3">
-      <MemberSignature Language="C#" Value="Size3" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A medium-small text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size4">
-      <MemberSignature Language="C#" Value="Size4" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A medium text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size5">
-      <MemberSignature Language="C#" Value="Size5" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A medium-large text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size6">
-      <MemberSignature Language="C#" Value="Size6" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A large text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Size7">
-      <MemberSignature Language="C#" Value="Size7" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The largest text size.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SizeMask">
-      <MemberSignature Language="C#" Value="SizeMask" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A mask for changing font sizes.</summary>
-        <remarks>FIXME: explain this.
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Bold">
-      <MemberSignature Language="C#" Value="Bold" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An italic style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Italic">
-      <MemberSignature Language="C#" Value="Italic" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An italic style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Underline">
-      <MemberSignature Language="C#" Value="Underline" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An underlined style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Strikeout">
-      <MemberSignature Language="C#" Value="Strikeout" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A strikeout style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Fixed">
-      <MemberSignature Language="C#" Value="Fixed" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A fixed-width style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Subscript">
-      <MemberSignature Language="C#" Value="Subscript" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A subscript style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Superscript">
-      <MemberSignature Language="C#" Value="Superscript" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A superscript style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLFontStyleShift.xml b/doc/en/Gtk/HTMLFontStyleShift.xml
deleted file mode 100644
index bd171cf..0000000
--- a/doc/en/Gtk/HTMLFontStyleShift.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<Type Name="HTMLFontStyleShift" FullName="Gtk.HTMLFontStyleShift">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLFontStyleShift" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration for how HTML font styles can be changed.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Bold">
-      <MemberSignature Language="C#" Value="Bold" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Bold font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Italic">
-      <MemberSignature Language="C#" Value="Italic" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Italic font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Underline">
-      <MemberSignature Language="C#" Value="Underline" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Underlined font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Strikeout">
-      <MemberSignature Language="C#" Value="Strikeout" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Strikeout font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Fixed">
-      <MemberSignature Language="C#" Value="Fixed" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Fixed-width font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Subscript">
-      <MemberSignature Language="C#" Value="Subscript" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Subscript font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Superscript">
-      <MemberSignature Language="C#" Value="Superscript" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyleShift</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Superscript font style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLParagraphAlignment.xml b/doc/en/Gtk/HTMLParagraphAlignment.xml
deleted file mode 100644
index f28182b..0000000
--- a/doc/en/Gtk/HTMLParagraphAlignment.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<Type Name="HTMLParagraphAlignment" FullName="Gtk.HTMLParagraphAlignment">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLParagraphAlignment" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration for representing the possible alignment of paragraphs.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Left">
-      <MemberSignature Language="C#" Value="Left" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphAlignment</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Aligned with a straight left margin.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Right">
-      <MemberSignature Language="C#" Value="Right" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphAlignment</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Aligned with a straight right margin.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Center">
-      <MemberSignature Language="C#" Value="Center" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphAlignment</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Aligned so that every line is centered.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLParagraphStyle.xml b/doc/en/Gtk/HTMLParagraphStyle.xml
deleted file mode 100644
index 6b401a3..0000000
--- a/doc/en/Gtk/HTMLParagraphStyle.xml
+++ /dev/null
@@ -1,188 +0,0 @@
-<Type Name="HTMLParagraphStyle" FullName="Gtk.HTMLParagraphStyle">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLParagraphStyle" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration of paragraph styles possible in <see cref="T:Gtk.HTML" />.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Normal">
-      <MemberSignature Language="C#" Value="Normal" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Normal style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="H1">
-      <MemberSignature Language="C#" Value="H1" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Header 1 style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="H2">
-      <MemberSignature Language="C#" Value="H2" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Header 2 style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="H3">
-      <MemberSignature Language="C#" Value="H3" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Header 3 style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="H4">
-      <MemberSignature Language="C#" Value="H4" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Header 4 style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="H5">
-      <MemberSignature Language="C#" Value="H5" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Header 5 style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="H6">
-      <MemberSignature Language="C#" Value="H6" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Header 6 style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Address">
-      <MemberSignature Language="C#" Value="Address" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Email address style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Pre">
-      <MemberSignature Language="C#" Value="Pre" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Preformatted text style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Itemdotted">
-      <MemberSignature Language="C#" Value="Itemdotted" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Unnumbered list style.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Itemroman">
-      <MemberSignature Language="C#" Value="Itemroman" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Roman-numeral numbered list.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Itemdigit">
-      <MemberSignature Language="C#" Value="Itemdigit" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Arabic-numbered ordered list.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Itemalpha">
-      <MemberSignature Language="C#" Value="Itemalpha" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLParagraphStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Greek-lettered ordered list.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLPrintCalcHeight.xml b/doc/en/Gtk/HTMLPrintCalcHeight.xml
deleted file mode 100644
index d5d609f..0000000
--- a/doc/en/Gtk/HTMLPrintCalcHeight.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<Type Name="HTMLPrintCalcHeight" FullName="Gtk.HTMLPrintCalcHeight">
-  <TypeSignature Language="C#" Value="public delegate int HTMLPrintCalcHeight(HTML html, PrintOperation operation, PrintContext context);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="html" Type="Gtk.HTML" />
-    <Parameter Name="operation" Type="Gtk.PrintOperation" />
-    <Parameter Name="context" Type="Gtk.PrintContext" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Int32</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="html">To be added.</param>
-    <param name="operation">To be added.</param>
-    <param name="context">To be added.</param>
-    <summary>To be added.</summary>
-    <returns>To be added.</returns>
-    <remarks>To be added.</remarks>
-    <since version="GtkHtml# 3.14" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/HTMLPrintCallback.xml b/doc/en/Gtk/HTMLPrintCallback.xml
deleted file mode 100644
index bb874fd..0000000
--- a/doc/en/Gtk/HTMLPrintCallback.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<Type Name="HTMLPrintCallback" FullName="Gtk.HTMLPrintCallback">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void HTMLPrintCallback(HTML html, PrintContext print_context, double x, double y, double width, double height);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="html">To be added.</param>
-    <param name="print_context">To be added.</param>
-    <param name="x">To be added.</param>
-    <param name="y">To be added.</param>
-    <param name="width">To be added.</param>
-    <param name="height">To be added.</param>
-    <summary>Delegate for printing page framing elements.</summary>
-    <remarks>Used to print headers and footers in <see cref="M:Gtk.HTML.PrintWithHeaderFooter" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="html" Type="Gtk.HTML" />
-    <Parameter Name="print_context" Type="Gtk.PrintContext" />
-    <Parameter Name="x" Type="System.Double" />
-    <Parameter Name="y" Type="System.Double" />
-    <Parameter Name="width" Type="System.Double" />
-    <Parameter Name="height" Type="System.Double" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/HTMLPrintDrawFunc.xml b/doc/en/Gtk/HTMLPrintDrawFunc.xml
deleted file mode 100644
index 0b60c77..0000000
--- a/doc/en/Gtk/HTMLPrintDrawFunc.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<Type Name="HTMLPrintDrawFunc" FullName="Gtk.HTMLPrintDrawFunc">
-  <TypeSignature Language="C#" Value="public delegate void HTMLPrintDrawFunc(HTML html, PrintOperation operation, PrintContext context, int page_nr, Rectangle rec);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="html" Type="Gtk.HTML" />
-    <Parameter Name="operation" Type="Gtk.PrintOperation" />
-    <Parameter Name="context" Type="Gtk.PrintContext" />
-    <Parameter Name="page_nr" Type="System.Int32" />
-    <Parameter Name="rec" Type="Pango.Rectangle" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="html">To be added.</param>
-    <param name="operation">To be added.</param>
-    <param name="context">To be added.</param>
-    <param name="page_nr">To be added.</param>
-    <param name="rec">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="GtkHtml# 3.14" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/HTMLSaveReceiverFn.xml b/doc/en/Gtk/HTMLSaveReceiverFn.xml
deleted file mode 100644
index 4f4a81d..0000000
--- a/doc/en/Gtk/HTMLSaveReceiverFn.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<Type Name="HTMLSaveReceiverFn" FullName="Gtk.HTMLSaveReceiverFn">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool HTMLSaveReceiverFn(IntPtr engine, string data);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="engine">To be added.</param>
-    <param name="data">To be added.</param>
-    <summary>A delegate to receive HTML content from <see cref="M:Gtk.HTML.Export" />. In most cases, a delegate of this form probably saves HTML to a file, prints it, or similar.</summary>
-    <remarks />
-    <returns>To be added.</returns>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="engine" Type="System.IntPtr" />
-    <Parameter Name="data" Type="System.String" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Boolean</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/HTMLStream.xml b/doc/en/Gtk/HTMLStream.xml
deleted file mode 100644
index 042f468..0000000
--- a/doc/en/Gtk/HTMLStream.xml
+++ /dev/null
@@ -1,176 +0,0 @@
-<Type Name="HTMLStream" FullName="Gtk.HTMLStream">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class HTMLStream : GLib.Opaque" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Handles streaming I/O for <see cref="T:Gtk.HTML" />.</summary>
-    <remarks>TODO: needs examples.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.Opaque</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="LogNew">
-      <MemberSignature Language="C#" Value="public static Gtk.HTMLStream LogNew (Gtk.HTML html, Gtk.HTMLStream stream);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStream</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="html" Type="Gtk.HTML" />
-        <Parameter Name="stream" Type="Gtk.HTMLStream" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="html">A <see cref="T:Gtk.HTML" /></param>
-        <param name="stream">A <see cref="T:Gtk.HTMLStream" /></param>
-        <returns>A <see cref="T:Gtk.HTMLStream" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Write">
-      <MemberSignature Language="C#" Value="public void Write (string buffer);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="buffer" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Writes the HTML out to <paramref name="buffer" /></summary>
-        <param name="buffer">A <see cref="T:System.String" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Destroy">
-      <MemberSignature Language="C#" Value="public void Destroy ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Destroy the stream object and dispose of the memory it uses.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Close">
-      <MemberSignature Language="C#" Value="public void Close (Gtk.HTMLStreamStatus status);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="status" Type="Gtk.HTMLStreamStatus" />
-      </Parameters>
-      <Docs>
-        <summary>Close the stream.</summary>
-        <param name="status">A <see cref="T:Gtk.HTMLStreamStatus" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Vprintf">
-      <MemberSignature Language="C#" Value="public int Vprintf (string format, IntPtr ap);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="format" Type="System.String" />
-        <Parameter Name="ap" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>To be added</summary>
-        <param name="format">A <see cref="T:System.String" /></param>
-        <param name="ap">A <see cref="T:IntPtr" /></param>
-        <returns>A <see cref="T:System.Int32" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Write">
-      <MemberSignature Language="C#" Value="public void Write (byte[] buffer, ulong size);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="buffer" Type="System.Byte[]" />
-        <Parameter Name="size" Type="System.UInt64" />
-      </Parameters>
-      <Docs>
-        <summary>Write the HTML to <paramref name="buffer" />.</summary>
-        <param name="buffer">a <see cref="T:System.Byte" /></param>
-        <param name="size">a <see cref="T:System.UInt64" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Types">
-      <MemberSignature Language="C#" Value="public string Types { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTMLStream (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Constructor for internal use only. Do not use.</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" />, the underlying C objject.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public HTMLStream (Gtk.HTML html, Gtk.HTMLStreamTypesFunc type_func, Gtk.HTMLStreamWriteFunc write_func, Gtk.HTMLStreamCloseFunc close_func);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="html" Type="Gtk.HTML" />
-        <Parameter Name="type_func" Type="Gtk.HTMLStreamTypesFunc" />
-        <Parameter Name="write_func" Type="Gtk.HTMLStreamWriteFunc" />
-        <Parameter Name="close_func" Type="Gtk.HTMLStreamCloseFunc" />
-      </Parameters>
-      <Docs>
-        <summary>Constructor.</summary>
-        <param name="html">a <see cref="T:Gtk.HTML" /></param>
-        <param name="type_func">a <see cref="T:Gtk.HTMLStreamTypesFunc" /></param>
-        <param name="write_func">a <see cref="T:Gtk.HTMLStreamWriteFunc" /></param>
-        <param name="close_func">a <see cref="T:Gtk.HTMLStreamCloseFunc" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Write">
-      <MemberSignature Language="C#" Value="public void Write (byte[] buffer, int size);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="buffer" Type="System.Byte[]" />
-        <Parameter Name="size" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Write the HTML to <paramref name="buffer" />.</summary>
-        <param name="buffer">a <see cref="T:System.Byte" /></param>
-        <param name="size">a <see cref="T:System.Int32" /></param>
-        <remarks>Use the ulong size overload instead for 64 bit deployments.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLStreamCloseFunc.xml b/doc/en/Gtk/HTMLStreamCloseFunc.xml
deleted file mode 100644
index d923854..0000000
--- a/doc/en/Gtk/HTMLStreamCloseFunc.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<Type Name="HTMLStreamCloseFunc" FullName="Gtk.HTMLStreamCloseFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void HTMLStreamCloseFunc(HTMLStream stream, HTMLStreamStatus status);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="stream">To be added.</param>
-    <param name="status">To be added.</param>
-    <summary>A delegate for use with <see cref="T:Gtk.HTMLStream" />. Meant to be used for closing the stream.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="stream" Type="Gtk.HTMLStream" />
-    <Parameter Name="status" Type="Gtk.HTMLStreamStatus" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/HTMLStreamStatus.xml b/doc/en/Gtk/HTMLStreamStatus.xml
deleted file mode 100644
index e8232d0..0000000
--- a/doc/en/Gtk/HTMLStreamStatus.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<Type Name="HTMLStreamStatus" FullName="Gtk.HTMLStreamStatus">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum HTMLStreamStatus" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>An enumeration of possible statuses for an HTML stream.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Ok">
-      <MemberSignature Language="C#" Value="Ok" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStreamStatus</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Okay; HTTP result 200</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Error">
-      <MemberSignature Language="C#" Value="Error" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStreamStatus</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Not okay.</summary>
-        <remarks>
-          (TODO: This is for everything non-200? Look up in source.)
-	</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/HTMLStreamTypesFunc.xml b/doc/en/Gtk/HTMLStreamTypesFunc.xml
deleted file mode 100644
index 893330a..0000000
--- a/doc/en/Gtk/HTMLStreamTypesFunc.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<Type Name="HTMLStreamTypesFunc" FullName="Gtk.HTMLStreamTypesFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate string HTMLStreamTypesFunc(HTMLStream stream);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="stream">To be added.</param>
-    <summary>A delegate for use with <see cref="T:Gtk.HTMLStream" />.</summary>
-    <remarks />
-    <returns>To be added.</returns>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="stream" Type="Gtk.HTMLStream" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.String</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/HTMLStreamWriteFunc.xml b/doc/en/Gtk/HTMLStreamWriteFunc.xml
deleted file mode 100644
index 6d313a2..0000000
--- a/doc/en/Gtk/HTMLStreamWriteFunc.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<Type Name="HTMLStreamWriteFunc" FullName="Gtk.HTMLStreamWriteFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void HTMLStreamWriteFunc(HTMLStream stream, string buffer, ulong size);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="stream">To be added.</param>
-    <param name="buffer">To be added.</param>
-    <param name="size">To be added.</param>
-    <summary>A delegate for use with <see cref="T:Gtk.HTMLStream" />. Meant to be used for writing the stream.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="stream" Type="Gtk.HTMLStream" />
-    <Parameter Name="buffer" Type="System.String" />
-    <Parameter Name="size" Type="System.UInt64" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Activatable.xml b/doc/en/Gtk/IActivatable.xml
similarity index 93%
rename from doc/en/Gtk/Activatable.xml
rename to doc/en/Gtk/IActivatable.xml
index 1c66485..66c0124 100644
--- a/doc/en/Gtk/Activatable.xml
+++ b/doc/en/Gtk/IActivatable.xml
@@ -1,6 +1,6 @@
-<Type Name="Activatable" FullName="Gtk.Activatable">
-  <TypeSignature Language="C#" Value="public interface Activatable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Activatable implements class GLib.IWrapper" />
+<Type Name="IActivatable" FullName="Gtk.IActivatable">
+  <TypeSignature Language="C#" Value="public interface IActivatable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IActivatable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/ActivatableImplementor.xml b/doc/en/Gtk/IActivatableImplementor.xml
similarity index 91%
rename from doc/en/Gtk/ActivatableImplementor.xml
rename to doc/en/Gtk/IActivatableImplementor.xml
index 1d508f4..fa6c58d 100644
--- a/doc/en/Gtk/ActivatableImplementor.xml
+++ b/doc/en/Gtk/IActivatableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ActivatableImplementor" FullName="Gtk.ActivatableImplementor">
-  <TypeSignature Language="C#" Value="public interface ActivatableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ActivatableImplementor implements class GLib.IWrapper" />
+<Type Name="IActivatableImplementor" FullName="Gtk.IActivatableImplementor">
+  <TypeSignature Language="C#" Value="public interface IActivatableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IActivatableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/AppChooser.xml b/doc/en/Gtk/IAppChooser.xml
similarity index 83%
rename from doc/en/Gtk/AppChooser.xml
rename to doc/en/Gtk/IAppChooser.xml
index 9faef27..85b818a 100644
--- a/doc/en/Gtk/AppChooser.xml
+++ b/doc/en/Gtk/IAppChooser.xml
@@ -1,6 +1,6 @@
-<Type Name="AppChooser" FullName="Gtk.AppChooser">
-  <TypeSignature Language="C#" Value="public interface AppChooser : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract AppChooser implements class GLib.IWrapper" />
+<Type Name="IAppChooser" FullName="Gtk.IAppChooser">
+  <TypeSignature Language="C#" Value="public interface IAppChooser : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAppChooser implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -16,11 +16,11 @@
   </Docs>
   <Members>
     <Member MemberName="AppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo AppInfo { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.AppInfo AppInfo" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo AppInfo { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IAppInfo AppInfo" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/CellEditable.xml b/doc/en/Gtk/ICellEditable.xml
similarity index 57%
rename from doc/en/Gtk/CellEditable.xml
rename to doc/en/Gtk/ICellEditable.xml
index dff1a2c..6b1438f 100644
--- a/doc/en/Gtk/CellEditable.xml
+++ b/doc/en/Gtk/ICellEditable.xml
@@ -1,21 +1,18 @@
-<Type Name="CellEditable" FullName="Gtk.CellEditable">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public interface CellEditable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract CellEditable implements class GLib.IWrapper" />
+<Type Name="ICellEditable" FullName="Gtk.ICellEditable">
+  <TypeSignature Language="C#" Value="public interface ICellEditable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ICellEditable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>An interface for editing a single cell.</summary>
-    <remarks>
-    </remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="EditingDone">
@@ -25,10 +22,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Event that indicates to the cell renderer to update its value from the cell.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="FinishEditing">
@@ -40,12 +37,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Emits the <see cref="F:Gtk.CellEditable.EditingDone" /> event.</summary>
-        <remarks>
-          <para>
-	  This event is a sign for the cell renderer to update its value from the cell.
-	 </para>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveWidget">
@@ -57,12 +51,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Emits the <see cref="F:Gtk.CellEditable.WidgetRemoved" /> event.</summary>
-        <remarks>
-          <para>
-	  This event is meant to indicate that the cell is finished editing, and the <paramref name="widget" /> may now be destroyed.
-	 </para>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="StartEditing">
@@ -76,13 +67,10 @@
         <Parameter Name="evnt" Type="Gdk.Event" />
       </Parameters>
       <Docs>
-        <param name="evnt">A <see cref="T:Gdk.Event" />, or <see langword="null" />.</param>
-        <summary>Begins editing on a cell editable.</summary>
-        <remarks>
-          <para>
-            <paramref name="evnt" /> is the <see cref="T:Gdk.Event" /> that began the editing process. It may be <see langword="null" />, in the instance that editing was initiated through programatic means.
-	 </para>
-        </remarks>
+        <param name="evnt">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="WidgetRemoved">
@@ -92,10 +80,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Event that indicates that the cell is finished editing, and the <paramref name="widget" /> may now be destroyed.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/CellEditableImplementor.xml b/doc/en/Gtk/ICellEditableImplementor.xml
similarity index 71%
rename from doc/en/Gtk/CellEditableImplementor.xml
rename to doc/en/Gtk/ICellEditableImplementor.xml
index 9e1d567..9a9e1e5 100644
--- a/doc/en/Gtk/CellEditableImplementor.xml
+++ b/doc/en/Gtk/ICellEditableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="CellEditableImplementor" FullName="Gtk.CellEditableImplementor">
-  <TypeSignature Language="C#" Value="public interface CellEditableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract CellEditableImplementor implements class GLib.IWrapper" />
+<Type Name="ICellEditableImplementor" FullName="Gtk.ICellEditableImplementor">
+  <TypeSignature Language="C#" Value="public interface ICellEditableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ICellEditableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>CellEditable implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.CellEditable" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="StartEditing">
@@ -34,6 +34,7 @@
         <param name="evnt">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/CellLayout.xml b/doc/en/Gtk/ICellLayout.xml
similarity index 58%
rename from doc/en/Gtk/CellLayout.xml
rename to doc/en/Gtk/ICellLayout.xml
index 16c7c96..239b705 100644
--- a/doc/en/Gtk/CellLayout.xml
+++ b/doc/en/Gtk/ICellLayout.xml
@@ -1,20 +1,18 @@
-<Type Name="CellLayout" FullName="Gtk.CellLayout">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface CellLayout : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract CellLayout implements class GLib.IWrapper" />
+<Type Name="ICellLayout" FullName="Gtk.ICellLayout">
+  <TypeSignature Language="C#" Value="public interface ICellLayout : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ICellLayout implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>Manages layout for table cells.</summary>
-    <remarks />
-    <since version="Gtk# 2.4" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddAttribute">
@@ -30,19 +28,12 @@
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="cell">a <see cref="T:Gtk.CellRenderer" /></param>
-        <param name="attribute">a <see cref="T:System.String" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <summary> 
-	  Adds an attribute mapping to the list for this cell layout.
-	</summary>
-        <remarks>
-	  The <paramref name="column" /> is the
-	  column of the model to get a value from, and the <paramref name="attribute" /> is the
-	  parameter on <paramref name="cell" /> to be set from the value. So for example if column 2
-	  of the model contains strings, you could have the "text" attribute of a
-	  <see cref="T:Gtk.CellRendererText" /> get its values from column 2.
-	</remarks>
+        <param name="cell">To be added.</param>
+        <param name="attribute">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Area">
@@ -70,7 +61,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
-        <see version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Clear">
@@ -82,8 +73,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Unsets all the mappings on all renderers for this cell layout.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ClearAttributes">
@@ -97,10 +89,10 @@
         <Parameter Name="cell" Type="Gtk.CellRenderer" />
       </Parameters>
       <Docs>
-        <param name="cell">a <see cref="T:Gtk.CellRenderer" /></param>
-        <summary>Clears all existing attributes previously set with
-	  <see cref="M:Gtk.CellLayout.SetAttributes" />.</summary>
-        <remarks />
+        <param name="cell">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PackEnd">
@@ -115,17 +107,11 @@
         <Parameter Name="expand" Type="System.Boolean" />
       </Parameters>
       <Docs>
-        <param name="cell">a <see cref="T:Gtk.CellRenderer" /></param>
-        <param name="expand">a <see cref="T:System.Boolean" />, TRUE if <paramref name="cell" /> is to be given extra space allocated to this cell layout.</param>
-        <summary>
-	  Adds the <paramref name="cell" /> to the end of the cell layout. 
-	</summary>
-        <remarks>
-	  If <paramref name="expand" /> is FALSE, then the
-	  cell is allocated no more space than it needs. Any unused space is
-	  divided evenly between cells for which <paramref name="expand" /> is 
-	  TRUE.	
-	</remarks>
+        <param name="cell">To be added.</param>
+        <param name="expand">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PackStart">
@@ -140,17 +126,11 @@
         <Parameter Name="expand" Type="System.Boolean" />
       </Parameters>
       <Docs>
-        <param name="cell">a <see cref="T:Gtk.CellRenderer" /></param>
-        <param name="expand">a <see cref="T:System.Boolean" />, TRUE if <paramref name="cell" /> is to be given extra space allocated to this cell layout.</param>
-        <summary>
-	  Packs <paramref name="cell" /> into the beginning of the cell layout. 
-	</summary>
-        <remarks>
-	  If <paramref name="expand" /> is FALSE, then the
-	  cell is allocated no more space than it needs. Any unused space is
-	  divided evenly between cells for which <paramref name="expand" /> is 
-	  TRUE.	
-	</remarks>
+        <param name="cell">To be added.</param>
+        <param name="expand">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Reorder">
@@ -165,13 +145,11 @@
         <Parameter Name="position" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="cell">a <see cref="T:Gtk.CellRenderer" /></param>
-        <param name="position">a <see cref="T:System.Int32" /></param>
-        <summary>Re-inserts <paramref name="cell" /> at <paramref name="position" />.</summary>
-        <remarks>
-	  Note that <paramref name="cell" /> has already to be packed
-	  into the cell layout for this to function properly.
-	</remarks>
+        <param name="cell">To be added.</param>
+        <param name="position">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetAttributes">
@@ -186,10 +164,11 @@
         <Parameter Name="attrs" Type="System.Object[]" />
       </Parameters>
       <Docs>
-        <param name="renderer">a <see cref="T:Gtk.CellRenderer" /></param>
-        <param name="attrs">a <see cref="T:System.Object" /></param>
-        <summary>Sets the attribute to model column bindings for a renderer.</summary>
-        <remarks>The <paramref name="attrs" /> array should consist of pairs of attribute names and column indices.</remarks>
+        <param name="renderer">To be added.</param>
+        <param name="attrs">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCellDataFunc">
@@ -204,14 +183,11 @@
         <Parameter Name="func" Type="Gtk.CellLayoutDataFunc" />
       </Parameters>
       <Docs>
-        <param name="cell">a <see cref="T:Gtk.CellRenderer" /></param>
-        <param name="func">a <see cref="T:Gtk.CellLayoutDataFunc" /></param>
-        <summary>Sets up a data function for this layout.</summary>
-        <remarks>
-	  The data function is used instead of the standard attributes mapping for setting the
-	  column value, and should set the value of the layout's cell renderer(s)
-	  as appropriate. <paramref name="func" /> may be <see langword="null" /> to remove an older one.
-	</remarks>
+        <param name="cell">To be added.</param>
+        <param name="func">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/CellLayoutImplementor.xml b/doc/en/Gtk/ICellLayoutImplementor.xml
similarity index 91%
rename from doc/en/Gtk/CellLayoutImplementor.xml
rename to doc/en/Gtk/ICellLayoutImplementor.xml
index 2a89b0a..ad4c369 100644
--- a/doc/en/Gtk/CellLayoutImplementor.xml
+++ b/doc/en/Gtk/ICellLayoutImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="CellLayoutImplementor" FullName="Gtk.CellLayoutImplementor">
-  <TypeSignature Language="C#" Value="public interface CellLayoutImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract CellLayoutImplementor implements class GLib.IWrapper" />
+<Type Name="ICellLayoutImplementor" FullName="Gtk.ICellLayoutImplementor">
+  <TypeSignature Language="C#" Value="public interface ICellLayoutImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ICellLayoutImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>CellLayout implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.CellLayout" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddAttribute">
@@ -38,6 +38,7 @@
         <param name="column">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Area">
@@ -65,6 +66,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Clear">
@@ -78,6 +80,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ClearAttributes">
@@ -94,6 +97,7 @@
         <param name="cell">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PackEnd">
@@ -112,6 +116,7 @@
         <param name="expand">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PackStart">
@@ -130,6 +135,7 @@
         <param name="expand">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Reorder">
@@ -148,6 +154,7 @@
         <param name="position">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCellDataFunc">
@@ -166,6 +173,7 @@
         <param name="func">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/Editable.xml b/doc/en/Gtk/IEditable.xml
similarity index 61%
rename from doc/en/Gtk/Editable.xml
rename to doc/en/Gtk/IEditable.xml
index aa889c7..8a21a2f 100644
--- a/doc/en/Gtk/Editable.xml
+++ b/doc/en/Gtk/IEditable.xml
@@ -1,20 +1,18 @@
-<Type Name="Editable" FullName="Gtk.Editable">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface Editable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Editable implements class GLib.IWrapper" />
+<Type Name="IEditable" FullName="Gtk.IEditable">
+  <TypeSignature Language="C#" Value="public interface IEditable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IEditable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>Interface for text-editing widgets.</summary>
-    <remarks />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Changed">
@@ -24,10 +22,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Raised when the user has changed the contents of the widget.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CopyClipboard">
@@ -39,8 +37,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Causes the characters in the current selection to be copied to the clipboard.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CutClipboard">
@@ -52,8 +51,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Causes the characters in the current selection to be copied to the clipboard and then deleted from the widget.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DeleteSelection">
@@ -65,8 +65,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Causes the characters in the current selection to be deleted.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DeleteText">
@@ -81,10 +82,11 @@
         <Parameter Name="end_pos" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="start_pos">An integer; the start position</param>
-        <param name="end_pos">An integer; the end position</param>
-        <summary>Deletes a sequence of characters. The characters that are deleted are those characters at positions from <paramref name="start_pos" /> up to, but not including <paramref name="end_pos" />. If <paramref name="end_pos" /> is negative, then the the characters deleted will be those characters from  <paramref name="start_pos" /> to the end of the text.</summary>
-        <remarks />
+        <param name="start_pos">To be added.</param>
+        <param name="end_pos">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetChars">
@@ -99,11 +101,12 @@
         <Parameter Name="end_pos" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="start_pos">An integer; the start position</param>
-        <param name="end_pos">An integer; the end position</param>
-        <summary>Retrieves a sequence of characters. The characters that are retrieved are those characters at positions from <paramref name="start_pos" /> up to, but not including <paramref name="end_pos" />. If <paramref name="end_pos" /> is negative, then the the characters retrieved will be those characters from  <paramref name="start_pos" /> to the end of the text.</summary>
-        <returns>The characters between <paramref name="start_pos" /> and (but not including) <paramref name="end_pos" />.</returns>
-        <remarks />
+        <param name="start_pos">To be added.</param>
+        <param name="end_pos">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectionBounds">
@@ -120,9 +123,10 @@
       <Docs>
         <param name="start_pos">To be added.</param>
         <param name="end_pos">To be added.</param>
-        <summary>Gets the current selection bounds, if there is a selection</summary>
-        <returns>Boolean, TRUE if there is a selection.</returns>
-        <remarks />
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="InsertText">
@@ -137,10 +141,11 @@
         <Parameter Name="position" Type="System.Int32&" RefType="ref" />
       </Parameters>
       <Docs>
-        <param name="new_text">A string to insert.</param>
-        <param name="position">A pointer to the position within the Editable object for inserting the string.</param>
-        <summary>Inserts <paramref name="new_text" /> at <paramref name="position" />.</summary>
-        <remarks />
+        <param name="new_text">To be added.</param>
+        <param name="position">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsEditable">
@@ -150,12 +155,11 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters>
-      </Parameters>
       <Docs>
-        <summary>Whether or not the user can edit the text in the editable widget or not.</summary>
-        <value>A boolean; TRUE if the user can edit the text.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PasteClipboard">
@@ -167,8 +171,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Causes the contents of the clipboard to be pasted into the given widget at the current cursor position.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Position">
@@ -178,12 +183,11 @@
       <ReturnValue>
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
-      <Parameters>
-      </Parameters>
       <Docs>
-        <summary>The current cursor position.</summary>
-        <value>An integer position for the cursor.</value>
-        <remarks />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectRegion">
@@ -200,9 +204,9 @@
       <Docs>
         <param name="start_pos">To be added.</param>
         <param name="end_pos">To be added.</param>
-        <summary>Selects a region of text. </summary>
-        <remarks>The characters that are selected are those characters at positions from <paramref name="start" /> up to, but not including <paramref name="end" />. If <paramref name="end" /> is negative, then the the characters selected will be those characters from <paramref name="start" /> to the end of the text.
-	</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="TextDeleted">
@@ -212,10 +216,10 @@
       <ReturnValue>
         <ReturnType>Gtk.TextDeletedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Raised whenever the user deletes text.</summary>
-        <remarks>The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with gtk_signal_emit_stop(), it is possible to modify the inserted text, or prevent it from being inserted entirely. The <paramref name="start_pos" /> and <paramref name="end_pos" /> parameters are interpreted as for <see cref="F:Gtk.Editable.DeleteText()" />(FIXME: need equivalent for gtk_signal_emit_stop().)</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="TextInserted">
@@ -225,10 +229,10 @@
       <ReturnValue>
         <ReturnType>Gtk.TextInsertedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Raised whenever the user inserts text.</summary>
-        <remarks>The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with gtk_signal_emit_stop(), it is possible to modify the inserted text, or prevent it from being inserted entirely. (FIXME: Need Gtk# equivalent for gtk_signal_emit_stop().)</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/EditableImplementor.xml b/doc/en/Gtk/IEditableImplementor.xml
similarity index 90%
rename from doc/en/Gtk/EditableImplementor.xml
rename to doc/en/Gtk/IEditableImplementor.xml
index 4c645c6..909bbe7 100644
--- a/doc/en/Gtk/EditableImplementor.xml
+++ b/doc/en/Gtk/IEditableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="EditableImplementor" FullName="Gtk.EditableImplementor">
-  <TypeSignature Language="C#" Value="public interface EditableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract EditableImplementor implements class GLib.IWrapper" />
+<Type Name="IEditableImplementor" FullName="Gtk.IEditableImplementor">
+  <TypeSignature Language="C#" Value="public interface IEditableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IEditableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>Editable implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.Editable" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DeleteText">
@@ -36,6 +36,7 @@
         <param name="end_pos">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetChars">
@@ -55,6 +56,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectionBounds">
@@ -74,6 +76,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="InsertText">
@@ -92,6 +95,7 @@
         <param name="position">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Position">
@@ -105,6 +109,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectRegion">
@@ -123,6 +128,7 @@
         <param name="end_pos">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/FileChooser.xml b/doc/en/Gtk/IFileChooser.xml
similarity index 57%
rename from doc/en/Gtk/FileChooser.xml
rename to doc/en/Gtk/IFileChooser.xml
index c5c9d30..3e7d804 100644
--- a/doc/en/Gtk/FileChooser.xml
+++ b/doc/en/Gtk/IFileChooser.xml
@@ -1,20 +1,18 @@
-<Type Name="FileChooser" FullName="Gtk.FileChooser">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface FileChooser : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract FileChooser implements class GLib.IWrapper" />
+<Type Name="IFileChooser" FullName="Gtk.IFileChooser">
+  <TypeSignature Language="C#" Value="public interface IFileChooser : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFileChooser implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>Interface for a file-chooser.</summary>
-    <remarks>See <see cref="T:Gtk.FileChooserWidget" /> for an actual implementation.</remarks>
-    <since version="Gtk# 2.4" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Action">
@@ -24,19 +22,11 @@
       <ReturnValue>
         <ReturnType>Gtk.FileChooserAction</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  Sets the type of operation that that the chooser is performing; the
-	  user interface is adapted to suit the selected action.
-	</summary>
-        <value>a <see cref="T:Gtk.FileChooserAction" /></value>
-        <remarks>
-	  For example,
-	  an option to create a new folder might be shown if the action is
-	  <see cref="M:Gtk.FileChooserAction.Save" /> but not if the action is
-	  <see cref="M:Gtk.FileChooserAction.Open" />.
-	</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AddFilter">
@@ -50,15 +40,10 @@
         <Parameter Name="filter" Type="Gtk.FileFilter" />
       </Parameters>
       <Docs>
-        <param name="filter">a <see cref="T:Gtk.FileFilter" /></param>
-        <summary>
-	  Adds <paramref name="filter" /> to the list of filters that the 
-	  user can select between.
-	</summary>
-        <remarks>
-	  When a filter is selected, only files that are passed by that
-	  filter are displayed.
-	</remarks>
+        <param name="filter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AddShortcutFolder">
@@ -72,14 +57,11 @@
         <Parameter Name="folder" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="folder">a <see cref="T:System.String" /></param>
-        <summary>Adds a folder to be displayed with the shortcut folders in a file chooser.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>
-	  Note that shortcut folders do not get saved, as they are provided by the
-	  application.  For example, you can use this to add a
-	  "/usr/share/mydrawprogram/Clipart" folder to the volume list.
-	</remarks>
+        <param name="folder">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="AddShortcutFolderUri">
@@ -93,18 +75,11 @@
         <Parameter Name="uri" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri">a <see cref="T:System.String" /></param>
-        <summary>
-	  Adds a folder URI to be displayed with the shortcut folders in a file
-	  chooser.  
-	</summary>
-        <returns>a <see cref="T:System.Boolean" />, true if the folder 
-	  could be added successfully, false otherwise.</returns>
-        <remarks>
-	  Note that shortcut folders do not get saved, as they are provided
-	  by the application.  For example, you can use this to add a
-	  "file:///usr/share/mydrawprogram/Clipart" folder to the volume list.
-	</remarks>
+        <param name="uri">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ConfirmOverwrite">
@@ -115,9 +90,9 @@
         <ReturnType>Gtk.ConfirmOverwriteHandler</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Indicates an overwrite confirmation is needed.</summary>
-        <remarks />
-        <since version="Gtk# 2.8" />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CreateFolders">
@@ -141,12 +116,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>The current folder for the file chooser, when the chooser has selected a local filename.</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CurrentFolderChanged">
@@ -156,29 +130,18 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  This signal is emitted when the current folder in a file chooser
-	  changes. 
-	</summary>
-        <remarks>
-	  This event can happen due to the user performing some action that
-	  changes folders, such as selecting a bookmark or visiting a folder on the
-	  file list.  It can also happen as a result of calling a function to
-	  explicitly change the current folder in a file chooser.
-   
-	  Normally you do not need to connect to this signal, unless you need to keep
-	  track of which folder a file chooser is showing.
-	</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CurrentFolderFile">
-      <MemberSignature Language="C#" Value="public GLib.File CurrentFolderFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File CurrentFolderFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile CurrentFolderFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile CurrentFolderFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -194,12 +157,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>The file chooser's current folder, if set from a URI.</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CurrentName">
@@ -210,16 +172,10 @@
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>
-	  Property to represent the current name in the file selector, 
-	  as if entered by the user. 
-	</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-	  Note that the name passed in here is a UTF-8
-	  string rather than a filename. This function is meant for
-	  such uses as a suggested name in a "Save As..." dialog.
-	</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DoOverwriteConfirmation">
@@ -230,11 +186,10 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Controls if Overwrite Confirmation is performed.</summary>
-        <value>
-          <see langword="true" /> to perform overwrite confirmations.</value>
-        <remarks>When this property is set, the implementation will raise <see cref="E:Gtk.FileChooser.ConfirmOverwrite" /> any time the chooser is in Save mode and an existing file is selected.</remarks>
-        <since version="Gtk# 2.8" />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ExtraWidget">
@@ -244,20 +199,19 @@
       <ReturnValue>
         <ReturnType>Gtk.Widget</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>An application-supplied widget to provide extra options to the user.</summary>
-        <value>a <see cref="T:Gtk.Widget" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="File">
-      <MemberSignature Language="C#" Value="public GLib.File File { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File File" />
+      <MemberSignature Language="C#" Value="public GLib.IFile File { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile File" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -273,19 +227,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  This signal is emitted when the user "activates" a file in the file
-	  chooser.
-	</summary>
-        <remarks>
-	  This event can happen by double-clicking on a file in the file list, or
-	  by pressing Enter.
-	  
-	  Normally you do not need to connect to this signal.  It is used internally
-	  by the file chooser code to know when to activate the default button in the dialog.
-	</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Filename">
@@ -295,12 +240,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>The current filename selected by the file chooser.</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Filenames">
@@ -314,14 +258,15 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Files">
-      <MemberSignature Language="C#" Value="public GLib.File[] Files { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File[] Files" />
+      <MemberSignature Language="C#" Value="public GLib.IFile[] Files { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile[] Files" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File[]</ReturnType>
+        <ReturnType>GLib.IFile[]</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -337,12 +282,11 @@
       <ReturnValue>
         <ReturnType>Gtk.FileFilter</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>The currently-applied file filter.</summary>
-        <value>a <see cref="T:Gtk.FileFilter" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Filters">
@@ -356,6 +300,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LocalOnly">
@@ -365,32 +310,19 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  Sets whether only local files can be selected in the
-	  file selector.
-	</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks>
-	  If true (the default),
-	  then the selected file are files are guaranteed to be
-	  accessible through the operating systems native file
-	  file system and therefore the application only
-	  needs to worry about the filename functions in
-	  <see cref="T:Gtk.FileChooser" />, like 
-	  <see cref="M:Gtk.FileChooser.GetFilename" />,
-	  rather than the URI functions like
-	  <see cref="M:Gtk.FileChooser.GetUri" />.
-	</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PreviewFile">
-      <MemberSignature Language="C#" Value="public GLib.File PreviewFile { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.File PreviewFile" />
+      <MemberSignature Language="C#" Value="public GLib.IFile PreviewFile { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IFile PreviewFile" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.File</ReturnType>
+        <ReturnType>GLib.IFile</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -406,11 +338,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Internal function; gets the filename that should be previewed in a custom preview.</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>Not for general programmer use.</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PreviewUri">
@@ -420,12 +352,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>The URI that should be previewed in a custom preview widget. </summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PreviewWidget">
@@ -435,34 +366,11 @@
       <ReturnValue>
         <ReturnType>Gtk.Widget</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  An application-supplied widget to use to display a custom preview
-	  of the currently selected file. 
-	</summary>
-        <value>a <see cref="T:Gtk.Widget" /></value>
-        <remarks>
-          <para>
-	    To implement a preview, after setting the
-	    preview widget, you connect to the 
-	    <see cref="E:Gtk.FileChooser.SelectionChanged" />
-	    signal, and check
-	    <see cref="P:Gtk.FileChooser.PreviewFilename" /> or
-	    <see cref="P:Gtk.FileChooser.PreviewUri" />
-	    on each change. If you can
-	    display a preview of the new file, update your widget and
-	    set the preview active using
-	    <see cref="P:Gtk.FileChooser.PreviewWidgetActive" />
-	    Otherwise, set the preview inactive.
-	  </para>
-          <para>
-	    When there is no application-supplied preview widget, or the
-	    application-supplied preview widget is not active, the file chooser
-	    may display an internally generated preview of the current file or
-	    it may display no preview at all.
-	  </para>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="PreviewWidgetActive">
@@ -472,16 +380,11 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  Sets whether the preview widget set by <see cref="M:Gtk.FileChooser.SetPreviewWidget" />
-	   should be shown for the current filename.
-	</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks> When this property is set to false, the file chooser
-	  may display an internally generated preview of the current file
-	  or it may display no preview at all.</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveFilter">
@@ -495,10 +398,10 @@
         <Parameter Name="filter" Type="Gtk.FileFilter" />
       </Parameters>
       <Docs>
-        <param name="filter">a <see cref="T:Gtk.FileFilter" /></param>
-        <summary>Removes <paramref name="filter" /> from the list of filters that the user can select between.</summary>
-        <remarks>
-        </remarks>
+        <param name="filter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveShortcutFolder">
@@ -512,10 +415,11 @@
         <Parameter Name="folder" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="folder">a <see cref="T:System.String" /></param>
-        <summary>Removes a folder from a file chooser's list of shortcut folders.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>See also <see cref="M:Gtk.FileChooser.AddShortcutFolder" />.</remarks>
+        <param name="folder">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveShortcutFolderUri">
@@ -529,14 +433,11 @@
         <Parameter Name="uri" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri">a <see cref="T:System.String" /></param>
-        <summary>
-	  Removes a folder URI from a file chooser's list of shortcut folders.
-	</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>
-	  See also <see cref="M:Gtk.FileChooser.AddShortcutFolderUri" />.
-	</remarks>
+        <param name="uri">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectAll">
@@ -548,20 +449,20 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Selects all the files in the current folder of a file chooser.</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectFile">
-      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SelectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SelectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -582,14 +483,11 @@
         <Parameter Name="filename" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <summary>Selects a filename.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>
-	  If the file name isn't in the current
-	  folder of the file chooser, then the current folder of the file chooser will
-	  be changed to the folder containing <paramref name="filename" />.
-	</remarks>
+        <param name="filename">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectionChanged">
@@ -599,11 +497,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>This event is raised every time the selected file changes.</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectMultiple">
@@ -613,18 +510,11 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  Sets whether multiple files can be selected in the file selector.
-	</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks>
-	  This is only relevant if the action is set to be 
-	  <see cref="M:Gtk.FileChooserAction.Open" /> or 
-	  <see cref="M:Gtk.FileChooserAction.Save" />.
-	  It cannot be set with either of the folder actions.
-	</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectUri">
@@ -638,17 +528,11 @@
         <Parameter Name="uri" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri">a <see cref="T:System.String" /></param>
-        <summary>
-	  Selects the file at <paramref name="uri" />. If the URI doesn't refer to a
-	  file in the current folder of the file chooser, then the current folder of
-	  the file chooser will be changed to the folder that's part of <paramref name="uri" /> .
-	</summary>
-        <returns>a <see cref="T:System.Boolean" />, true if both the 
-	  folder could be changed and the URI was
-	  selected successfully, false otherwise.</returns>
-        <remarks>
-        </remarks>
+        <param name="uri">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCurrentFolder">
@@ -662,26 +546,22 @@
         <Parameter Name="filename" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <summary>
-	  Sets the current folder for the file chooser from a local filename.
-	</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>
-	  The user will be shown the full contents of the current folder,
-	  plus user interface elements for navigating to other folders.
-	</remarks>
+        <param name="filename">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCurrentFolderFile">
-      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetCurrentFolderFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetCurrentFolderFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -702,26 +582,22 @@
         <Parameter Name="uri" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri">a <see cref="T:System.String" />, the URI to use</param>
-        <summary>
-	  Sets the current folder for the chooser from an URI.
-	</summary>
-        <returns>a <see cref="T:System.Boolean" />, true if the folder could be changed successfully, false otherwise</returns>
-        <remarks>
-	  The user will be shown the full contents of the current folder,
-	  plus user interface elements for navigating to other folders.
-	</remarks>
+        <param name="uri">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetFile">
-      <MemberSignature Language="C#" Value="public bool SetFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public bool SetFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool SetFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -742,26 +618,11 @@
         <Parameter Name="filename" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <summary>
-	  Sets <paramref name="filename" /> as the current filename for
-	  the file chooser;
-	  If the file name isn't in the current folder of the file chooser, then the
-	  current folder of the file chooser will be changed to the folder containing
-	  <paramref name="filename" />. 
-	</summary>
-        <returns>a <see cref="T:System.Boolean" />, true if both the 
-	  folder could be changed and the file was
-	  selected successfully, false otherwise. </returns>
-        <remarks>
-	  This is equivalent to a sequence of
-	  <see cref="M:Gtk.FileChooser.UnselectAll" />
-	  followed by <see cref="M:Gtk.FileChooser.SelectFilename" />.
-	  
-	  Note that the file must exist, or nothing will be done except
-	  for the directory change. To pre-enter a filename for the user, as in
-	  a save-as dialog, use  <see cref="M:Gtk.FileChooser.SetCurrentFilename" />.
-	</remarks>
+        <param name="filename">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetUri">
@@ -775,25 +636,11 @@
         <Parameter Name="uri" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri">a <see cref="T:System.String" /></param>
-        <summary>
-	  Sets the file referred to by <paramref name="uri" /> as the 
-	  current file for the the file chooser.
-	</summary>
-        <returns>a <see cref="T:System.Boolean" />, true if both the folder 
-	  could be changed and the URI was
-	  selected successfully, false otherwise.</returns>
-        <remarks>
-	  If the file name isn't in the current folder of the file chooser,
-	  then the current folder of the file chooser will be changed to the folder containing
-	  <paramref name="uri" />. This is equivalent to a sequence of
-	  <see cref="M:Gtk.FileChooser.UnselectAll" />
-	  followed by <see cref="M:Gtk.FileChooser.SelectUri" />.
-	  
-	  Note that the file must exist, or nothing will be done except
-	  for the directory change. To pre-enter a filename for the user, as in
-	  a save-as dialog, use  <see cref="M:Gtk.FileChooser.SetCurrentFilename" />.
-	</remarks>
+        <param name="uri">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShortcutFolders">
@@ -805,8 +652,9 @@
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
-        <value>An array of System.Strings.</value>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShortcutFolderUris">
@@ -818,8 +666,9 @@
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
-        <value>An array of System.Strings.</value>
+        <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShowHidden">
@@ -829,12 +678,11 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.6" />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectAll">
@@ -846,19 +694,20 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Unselects all the files in the current folder of a file chooser.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectFile">
-      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.File file);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.File file) cil managed" />
+      <MemberSignature Language="C#" Value="public void UnselectFile (GLib.IFile file);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void UnselectFile(class GLib.IFile file) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="file" Type="GLib.File" />
+        <Parameter Name="file" Type="GLib.IFile" />
       </Parameters>
       <Docs>
         <param name="file">To be added.</param>
@@ -878,14 +727,10 @@
         <Parameter Name="filename" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="filename">a <see cref="T:System.String" /></param>
-        <summary>
-	  Unselects a currently selected filename. 
-	</summary>
-        <remarks>
-	  If the filename is not in the current directory, does not exist, or
-	  is otherwise not currently selected, does nothing.
-	</remarks>
+        <param name="filename">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectUri">
@@ -899,14 +744,10 @@
         <Parameter Name="uri" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="uri">a <see cref="T:System.String" /></param>
-        <summary>
-	  Unselects the file referred to by <paramref name="uri" />. 
-	</summary>
-        <remarks>
-	  If the file is not in the current directory, does not exist, or
-	  is otherwise not currently selected, does nothing.
-	</remarks>
+        <param name="uri">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UpdatePreview">
@@ -916,30 +757,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  This signal is emitted when the preview in a file chooser should be
-	  regenerated. For example, this can happen when the currently 
-	  selected file changes.  
-	</summary>
-        <remarks>
-          <para>You should use this signal if you want your file chooser to have
-	  a preview widget.</para>
-          <para>Once you have installed a preview widget with
-	    <see cref="P:Gtk.FileChooser.PreviewWidget" />, you should update it when this
-	    signal is emitted.  You can use the properties
-	    <see cref="P:Gtk.FileChooser.PreviewFilename" />	or
-	    <see cref="P:Gtk.FileChooser.PreviewUri" />
-	    to get the name of the file to preview.
-	    Your widget may not be able to preview all kinds of files; your callback
-	    must set <see cref="P:Gtk.FileChooser.PreviewWidgetActive" /> to inform the file
-	    chooser about whether the preview was generated successfully or not.
-	    </para>
-          <para>
-	    TODO: insert example from gtkfilechooser-preview in gtk+ docs.
-	  </para>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Uri">
@@ -949,17 +770,11 @@
       <ReturnValue>
         <ReturnType>System.String</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>The URI for the currently selected file in
-	  the file selector. </summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-	  If multiple files are selected,
-	  one of the filenames will be returned at random.
-	  If the file chooser is in folder mode, this function returns the 
-	  selected folder.
-	</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Uris">
@@ -973,6 +788,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UsePreviewLabel">
@@ -982,18 +798,11 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>
-	  Sets whether the file chooser should display a stock label with the name of
-	  the file that is being previewed; the default is true.  
-	</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks>
-	  Applications that
-	  want to draw the whole preview area themselves should set this 
-	  to false and display the name themselves in their preview widget.
-	</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/Orientable.xml b/doc/en/Gtk/IOrientable.xml
similarity index 82%
rename from doc/en/Gtk/Orientable.xml
rename to doc/en/Gtk/IOrientable.xml
index 539cb10..bfd44ed 100644
--- a/doc/en/Gtk/Orientable.xml
+++ b/doc/en/Gtk/IOrientable.xml
@@ -1,6 +1,6 @@
-<Type Name="Orientable" FullName="Gtk.Orientable">
-  <TypeSignature Language="C#" Value="public interface Orientable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Orientable implements class GLib.IWrapper" />
+<Type Name="IOrientable" FullName="Gtk.IOrientable">
+  <TypeSignature Language="C#" Value="public interface IOrientable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IOrientable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/OrientableImplementor.xml b/doc/en/Gtk/IOrientableImplementor.xml
similarity index 83%
rename from doc/en/Gtk/OrientableImplementor.xml
rename to doc/en/Gtk/IOrientableImplementor.xml
index ff70415..de9382b 100644
--- a/doc/en/Gtk/OrientableImplementor.xml
+++ b/doc/en/Gtk/IOrientableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="OrientableImplementor" FullName="Gtk.OrientableImplementor">
-  <TypeSignature Language="C#" Value="public interface OrientableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract OrientableImplementor implements class GLib.IWrapper" />
+<Type Name="IOrientableImplementor" FullName="Gtk.IOrientableImplementor">
+  <TypeSignature Language="C#" Value="public interface IOrientableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IOrientableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/PrintOperationPreview.xml b/doc/en/Gtk/IPrintOperationPreview.xml
similarity index 87%
rename from doc/en/Gtk/PrintOperationPreview.xml
rename to doc/en/Gtk/IPrintOperationPreview.xml
index 0fe5f09..6aa4da7 100644
--- a/doc/en/Gtk/PrintOperationPreview.xml
+++ b/doc/en/Gtk/IPrintOperationPreview.xml
@@ -1,6 +1,6 @@
-<Type Name="PrintOperationPreview" FullName="Gtk.PrintOperationPreview">
-  <TypeSignature Language="C#" Value="public interface PrintOperationPreview : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract PrintOperationPreview implements class GLib.IWrapper" />
+<Type Name="IPrintOperationPreview" FullName="Gtk.IPrintOperationPreview">
+  <TypeSignature Language="C#" Value="public interface IPrintOperationPreview : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPrintOperationPreview implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.10" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="EndPreview">
@@ -26,6 +26,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GotPageSize">
@@ -38,6 +39,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsSelected">
@@ -55,6 +57,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Ready">
@@ -67,6 +70,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RenderPage">
@@ -83,6 +87,7 @@
         <param name="page_nr">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/PrintOperationPreviewImplementor.xml b/doc/en/Gtk/IPrintOperationPreviewImplementor.xml
similarity index 82%
rename from doc/en/Gtk/PrintOperationPreviewImplementor.xml
rename to doc/en/Gtk/IPrintOperationPreviewImplementor.xml
index 9f41d44..a282045 100644
--- a/doc/en/Gtk/PrintOperationPreviewImplementor.xml
+++ b/doc/en/Gtk/IPrintOperationPreviewImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="PrintOperationPreviewImplementor" FullName="Gtk.PrintOperationPreviewImplementor">
-  <TypeSignature Language="C#" Value="public interface PrintOperationPreviewImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract PrintOperationPreviewImplementor implements class GLib.IWrapper" />
+<Type Name="IPrintOperationPreviewImplementor" FullName="Gtk.IPrintOperationPreviewImplementor">
+  <TypeSignature Language="C#" Value="public interface IPrintOperationPreviewImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPrintOperationPreviewImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>PrintOperationPreview implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.PrintOperationPreview" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="EndPreview">
@@ -31,6 +31,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IsSelected">
@@ -48,6 +49,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RenderPage">
@@ -64,6 +66,7 @@
         <param name="page_nr">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/RecentChooser.xml b/doc/en/Gtk/IRecentChooser.xml
similarity index 90%
rename from doc/en/Gtk/RecentChooser.xml
rename to doc/en/Gtk/IRecentChooser.xml
index 6242721..b85b86d 100644
--- a/doc/en/Gtk/RecentChooser.xml
+++ b/doc/en/Gtk/IRecentChooser.xml
@@ -1,6 +1,6 @@
-<Type Name="RecentChooser" FullName="Gtk.RecentChooser">
-  <TypeSignature Language="C#" Value="public interface RecentChooser : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract RecentChooser implements class GLib.IWrapper" />
+<Type Name="IRecentChooser" FullName="Gtk.IRecentChooser">
+  <TypeSignature Language="C#" Value="public interface IRecentChooser : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IRecentChooser implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
   <Docs>
     <summary>To be added.</summary>
     <remarks>To be added.</remarks>
-    <since version="Gtk# 2.10" />
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddFilter">
@@ -29,6 +29,7 @@
         <param name="filter">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CurrentItem">
@@ -42,6 +43,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CurrentUri">
@@ -55,6 +57,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Filter">
@@ -68,6 +71,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Filters">
@@ -85,11 +89,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -99,6 +103,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Items">
@@ -112,6 +117,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Limit">
@@ -125,6 +131,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="LocalOnly">
@@ -138,6 +145,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveFilter">
@@ -154,6 +162,7 @@
         <param name="filter">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectAll">
@@ -167,6 +176,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectMultiple">
@@ -180,6 +190,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectUri">
@@ -197,6 +208,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCurrentUri">
@@ -214,6 +226,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShowIcons">
@@ -227,6 +240,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShowNotFound">
@@ -240,6 +254,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShowPrivate">
@@ -253,6 +268,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ShowTips">
@@ -266,6 +282,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SortFunc">
@@ -279,6 +296,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SortType">
@@ -292,6 +310,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectAll">
@@ -305,6 +324,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectUri">
@@ -321,6 +341,7 @@
         <param name="uri">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/RecentChooserImplementor.xml b/doc/en/Gtk/IRecentChooserImplementor.xml
similarity index 90%
rename from doc/en/Gtk/RecentChooserImplementor.xml
rename to doc/en/Gtk/IRecentChooserImplementor.xml
index 29ba4c6..440a043 100644
--- a/doc/en/Gtk/RecentChooserImplementor.xml
+++ b/doc/en/Gtk/IRecentChooserImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="RecentChooserImplementor" FullName="Gtk.RecentChooserImplementor">
-  <TypeSignature Language="C#" Value="public interface RecentChooserImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract RecentChooserImplementor implements class GLib.IWrapper" />
+<Type Name="IRecentChooserImplementor" FullName="Gtk.IRecentChooserImplementor">
+  <TypeSignature Language="C#" Value="public interface IRecentChooserImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IRecentChooserImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>RecentChooser implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.RecentChooser" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="AddFilter">
@@ -34,6 +34,7 @@
         <param name="filter">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="CurrentUri">
@@ -47,6 +48,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Filters">
@@ -74,6 +76,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RemoveFilter">
@@ -90,6 +93,7 @@
         <param name="filter">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectAll">
@@ -103,6 +107,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SelectUri">
@@ -120,6 +125,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetCurrentUri">
@@ -137,6 +143,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SortFunc">
@@ -150,6 +157,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectAll">
@@ -163,6 +171,7 @@
       <Docs>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnselectUri">
@@ -179,6 +188,7 @@
         <param name="uri">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/Scrollable.xml b/doc/en/Gtk/IScrollable.xml
similarity index 92%
rename from doc/en/Gtk/Scrollable.xml
rename to doc/en/Gtk/IScrollable.xml
index b56ab93..2eb1199 100644
--- a/doc/en/Gtk/Scrollable.xml
+++ b/doc/en/Gtk/IScrollable.xml
@@ -1,6 +1,6 @@
-<Type Name="Scrollable" FullName="Gtk.Scrollable">
-  <TypeSignature Language="C#" Value="public interface Scrollable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract Scrollable implements class GLib.IWrapper" />
+<Type Name="IScrollable" FullName="Gtk.IScrollable">
+  <TypeSignature Language="C#" Value="public interface IScrollable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IScrollable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/ScrollableImplementor.xml b/doc/en/Gtk/IScrollableImplementor.xml
similarity index 93%
rename from doc/en/Gtk/ScrollableImplementor.xml
rename to doc/en/Gtk/IScrollableImplementor.xml
index bd67b77..4a9b62e 100644
--- a/doc/en/Gtk/ScrollableImplementor.xml
+++ b/doc/en/Gtk/IScrollableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ScrollableImplementor" FullName="Gtk.ScrollableImplementor">
-  <TypeSignature Language="C#" Value="public interface ScrollableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ScrollableImplementor implements class GLib.IWrapper" />
+<Type Name="IScrollableImplementor" FullName="Gtk.IScrollableImplementor">
+  <TypeSignature Language="C#" Value="public interface IScrollableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IScrollableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/StyleProvider.xml b/doc/en/Gtk/IStyleProvider.xml
similarity index 93%
rename from doc/en/Gtk/StyleProvider.xml
rename to doc/en/Gtk/IStyleProvider.xml
index 2fefcfe..08de71a 100644
--- a/doc/en/Gtk/StyleProvider.xml
+++ b/doc/en/Gtk/IStyleProvider.xml
@@ -1,6 +1,6 @@
-<Type Name="StyleProvider" FullName="Gtk.StyleProvider">
-  <TypeSignature Language="C#" Value="public interface StyleProvider : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract StyleProvider implements class GLib.IWrapper" />
+<Type Name="IStyleProvider" FullName="Gtk.IStyleProvider">
+  <TypeSignature Language="C#" Value="public interface IStyleProvider : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IStyleProvider implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/StyleProviderImplementor.xml b/doc/en/Gtk/IStyleProviderImplementor.xml
similarity index 92%
rename from doc/en/Gtk/StyleProviderImplementor.xml
rename to doc/en/Gtk/IStyleProviderImplementor.xml
index 01778ea..849d290 100644
--- a/doc/en/Gtk/StyleProviderImplementor.xml
+++ b/doc/en/Gtk/IStyleProviderImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="StyleProviderImplementor" FullName="Gtk.StyleProviderImplementor">
-  <TypeSignature Language="C#" Value="public interface StyleProviderImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract StyleProviderImplementor implements class GLib.IWrapper" />
+<Type Name="IStyleProviderImplementor" FullName="Gtk.IStyleProviderImplementor">
+  <TypeSignature Language="C#" Value="public interface IStyleProviderImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IStyleProviderImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/ToolShell.xml b/doc/en/Gtk/IToolShell.xml
similarity index 96%
rename from doc/en/Gtk/ToolShell.xml
rename to doc/en/Gtk/IToolShell.xml
index 83b65fb..8655419 100644
--- a/doc/en/Gtk/ToolShell.xml
+++ b/doc/en/Gtk/IToolShell.xml
@@ -1,6 +1,6 @@
-<Type Name="ToolShell" FullName="Gtk.ToolShell">
-  <TypeSignature Language="C#" Value="public interface ToolShell : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ToolShell implements class GLib.IWrapper" />
+<Type Name="IToolShell" FullName="Gtk.IToolShell">
+  <TypeSignature Language="C#" Value="public interface IToolShell : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IToolShell implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/ToolShellImplementor.xml b/doc/en/Gtk/IToolShellImplementor.xml
similarity index 95%
rename from doc/en/Gtk/ToolShellImplementor.xml
rename to doc/en/Gtk/IToolShellImplementor.xml
index e2b3479..806c229 100644
--- a/doc/en/Gtk/ToolShellImplementor.xml
+++ b/doc/en/Gtk/IToolShellImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="ToolShellImplementor" FullName="Gtk.ToolShellImplementor">
-  <TypeSignature Language="C#" Value="public interface ToolShellImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ToolShellImplementor implements class GLib.IWrapper" />
+<Type Name="IToolShellImplementor" FullName="Gtk.IToolShellImplementor">
+  <TypeSignature Language="C#" Value="public interface IToolShellImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IToolShellImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
diff --git a/doc/en/Gtk/TreeDragDestImplementor.xml b/doc/en/Gtk/ITreeDragDest.xml
similarity index 78%
copy from doc/en/Gtk/TreeDragDestImplementor.xml
copy to doc/en/Gtk/ITreeDragDest.xml
index b1059cd..47d0dac 100644
--- a/doc/en/Gtk/TreeDragDestImplementor.xml
+++ b/doc/en/Gtk/ITreeDragDest.xml
@@ -1,6 +1,6 @@
-<Type Name="TreeDragDestImplementor" FullName="Gtk.TreeDragDestImplementor">
-  <TypeSignature Language="C#" Value="public interface TreeDragDestImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeDragDestImplementor implements class GLib.IWrapper" />
+<Type Name="ITreeDragDest" FullName="Gtk.ITreeDragDest">
+  <TypeSignature Language="C#" Value="public interface ITreeDragDest : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeDragDest implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,15 +9,10 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GInterface(typeof(Gtk.TreeDragDestAdapter))</AttributeName>
-    </Attribute>
-  </Attributes>
   <Docs>
-    <summary>TreeDragDest implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.TreeDragDest" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DragDataReceived">
@@ -37,6 +32,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowDropPossible">
@@ -56,6 +52,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeDragDestImplementor.xml b/doc/en/Gtk/ITreeDragDestImplementor.xml
similarity index 83%
rename from doc/en/Gtk/TreeDragDestImplementor.xml
rename to doc/en/Gtk/ITreeDragDestImplementor.xml
index b1059cd..ee796ed 100644
--- a/doc/en/Gtk/TreeDragDestImplementor.xml
+++ b/doc/en/Gtk/ITreeDragDestImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TreeDragDestImplementor" FullName="Gtk.TreeDragDestImplementor">
-  <TypeSignature Language="C#" Value="public interface TreeDragDestImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeDragDestImplementor implements class GLib.IWrapper" />
+<Type Name="ITreeDragDestImplementor" FullName="Gtk.ITreeDragDestImplementor">
+  <TypeSignature Language="C#" Value="public interface ITreeDragDestImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeDragDestImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>TreeDragDest implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.TreeDragDest" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DragDataReceived">
@@ -37,6 +37,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowDropPossible">
@@ -56,6 +57,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeDragSource.xml b/doc/en/Gtk/ITreeDragSource.xml
similarity index 50%
rename from doc/en/Gtk/TreeDragSource.xml
rename to doc/en/Gtk/ITreeDragSource.xml
index 28f83c9..af48a85 100644
--- a/doc/en/Gtk/TreeDragSource.xml
+++ b/doc/en/Gtk/ITreeDragSource.xml
@@ -1,20 +1,18 @@
-<Type Name="TreeDragSource" FullName="Gtk.TreeDragSource">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface TreeDragSource : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeDragSource implements class GLib.IWrapper" />
+<Type Name="ITreeDragSource" FullName="Gtk.ITreeDragSource">
+  <TypeSignature Language="C#" Value="public interface ITreeDragSource : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeDragSource implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>An interface to represent the rows of a tree when one of them is dragged to another location.</summary>
-    <remarks />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DragDataDelete">
@@ -28,12 +26,11 @@
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="path">a <see cref="M:Gtk.TreePath" /> to delete</param>
-        <summary>
-	  Asks the TreeDragSource to delete the row at path, because it was moved somewhere else via drag-and-drop. Returns FALSE if the deletion fails because path no longer exists, or for some model-specific reason. Should robustly handle a path no longer found in the model.
-</summary>
-        <returns>A boolean for whether the deletion succeeded.</returns>
-        <remarks />
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DragDataGet">
@@ -48,11 +45,12 @@
         <Parameter Name="selection_data" Type="Gtk.SelectionData" />
       </Parameters>
       <Docs>
-        <param name="path">a <see cref="M:Gtk.TreePath" /></param>
-        <param name="selection_data">a <see cref="M:Gtk.SelectionData" /> object to fill with data</param>
-        <summary>Asks the <see cref="M:Gtk.TreeDragSource" /> to fill in <paramref name="selection_data" /> with a representation of the row at <paramref name="path" />.  Should robustly handle a path no longer found in the model.</summary>
-        <returns>A boolean; true if data of the required type was provided.</returns>
-        <remarks>FIXME: the original doc says, "selection_data->target gives the required type of the data.", but there doesn't seem to be a parallel in Gtk#. Check this.</remarks>
+        <param name="path">To be added.</param>
+        <param name="selection_data">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowDraggable">
@@ -66,10 +64,11 @@
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="path">a <see cref="M:Gtk.TreePath" /></param>
-        <summary>Check whether the row at <paramref name="path" /> is draggable. If the source doesn't implement this method, the row is assumed to be draggable.</summary>
-        <returns>A boolean, true if this row can be dragged.</returns>
-        <remarks />
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeDragSourceImplementor.xml b/doc/en/Gtk/ITreeDragSourceImplementor.xml
similarity index 85%
rename from doc/en/Gtk/TreeDragSourceImplementor.xml
rename to doc/en/Gtk/ITreeDragSourceImplementor.xml
index 9e8c146..2ab7be0 100644
--- a/doc/en/Gtk/TreeDragSourceImplementor.xml
+++ b/doc/en/Gtk/ITreeDragSourceImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TreeDragSourceImplementor" FullName="Gtk.TreeDragSourceImplementor">
-  <TypeSignature Language="C#" Value="public interface TreeDragSourceImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeDragSourceImplementor implements class GLib.IWrapper" />
+<Type Name="ITreeDragSourceImplementor" FullName="Gtk.ITreeDragSourceImplementor">
+  <TypeSignature Language="C#" Value="public interface ITreeDragSourceImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeDragSourceImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>TreeDragSource implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.TreeDragSource" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DragDataDelete">
@@ -35,6 +35,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DragDataGet">
@@ -54,6 +55,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowDraggable">
@@ -71,6 +73,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeModel.xml b/doc/en/Gtk/ITreeModel.xml
similarity index 56%
rename from doc/en/Gtk/TreeModel.xml
rename to doc/en/Gtk/ITreeModel.xml
index 38eccfe..e86d93f 100644
--- a/doc/en/Gtk/TreeModel.xml
+++ b/doc/en/Gtk/ITreeModel.xml
@@ -1,45 +1,18 @@
-<Type Name="TreeModel" FullName="Gtk.TreeModel">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public interface TreeModel : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeModel implements class GLib.IWrapper" />
+<Type Name="ITreeModel" FullName="Gtk.ITreeModel">
+  <TypeSignature Language="C#" Value="public interface ITreeModel : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeModel implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>The tree interface used by <see cref="T:Gtk.TreeView" /></summary>
-    <remarks>
-      <para>
-        The <see cref="T:Gtk.TreeModel" /> interface defines a generic tree interface for use by the <see cref="T:Gtk.TreeView" /> widget. It is an abstract interface, and is designed to be usable with any appropriate data structure. The programmer just has to implement this interface on their own data type for it to be viewable by a <see cref="T:Gtk.TreeView" /> widget.
-      </para>
-      <para>
-        The model is represented as a hierarchical tree of strongly-typed, columned data. In other words, the model can be seen as a tree where every node has different values depending on which column is being queried. The types are homogeneous per column across all nodes. It is important to note that this interface only provides a way of examining a model and observing changes. The implementation of each individual model decides how and if changes are made.
-      </para>
-      <para>
-        In order to make life simpler for programmers who do not need to write their own specialized model, two generic models are provided - the <see cref="T:Gtk.TreeStore" /> and the <see cref="T:Gtk.ListStore" />. To use these, the developer simply pushes data into these models as necessary. These models provide the data structure as well as all appropriate tree interfaces. As a result, implementing drag and drop, sorting, and storing data is trivial. For the vast majority of trees an [...]
-      </para>
-      <para>
-        Models are accessed on a node/column level of granularity. One can query for the value of a model at a certain node and a certain column on that node. There are two structures used to reference a particular node in a model. They are the <see cref="T:Gtk.TreePath" /> and the <see cref="T:Gtk.TreeIter" />. Most of the interface consists of operations on a <see cref="T:Gtk.TreeIter" />.
-      </para>
-      <para>
-        A path is essentially a potential node. It is a location on a model that may or may not actually correspond to a node on a specific model. The <see cref="T:Gtk.TreePath" /> struct can be converted into either an array of unsigned integers or a string. The string form is a list of numbers separated by a colon. Each number refers to the offset at that level. Thus, the path "0" refers to the root node and the path "2:4" refers to the fifth child of the third node.
-      </para>
-      <para>
-        By contrast, a <see cref="T:Gtk.TreeIter" /> is a reference to a specific node on a specific model. It is a generic struct with an integer and three generic pointers. These are filled in by the model in a model-specific way. One can convert a path to an iterator by calling <see cref="M:Gtk.TreeModel.GetIter(Gtk.TreeIter,Gtk.TreePath)" />. These iterators are the primary way of accessing a model and are similar to the iterators used by <see cref="T:Gtk.TextBuffer" />. The model in [...]
-      </para>
-      <para>
-        It is expected that models fill in the iterator with private data. For example, the <see cref="T:Gtk.ListStore" /> model, which is internally a simple linked list, stores a list node in one of the pointers. The <see cref="T:Gtk.TreeModelSort" /> stores an array and an offset in two of the pointers. Additionally, there is an integer field. This field is generally filled with a unique stamp per model. This stamp is for catching errors resulting from using invalid iterators with a model.
-      </para>
-      <para>
-        The lifecycle of an iterator can be a little confusing at first. Iterators are expected to always be valid for as long as the model is unchanged (and does not emit a signal). Additionally, some models guarantee that an iterator is valid for as long as the node it refers to is valid (most notably the <see cref="T:Gtk.TreeStore" /> and <see cref="T:Gtk.ListStore" />). Although generally uninteresting, as one always has to allow for the case where iterators do not persist beyond a s [...]
-      </para>
-    </remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="EmitRowChanged">
@@ -54,11 +27,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Emits the <see cref="E:Gtk.TreeModel.RowChanged" /> signal.</summary>
-        <remarks>
-        </remarks>
+        <param name="path">To be added.</param>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EmitRowDeleted">
@@ -72,9 +45,10 @@
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
-        <summary>Emits the <see cref="E:Gtk.TreeModel.RowDeleted" /> event.</summary>
-        <remarks>This should be called by models after a row has been removed. The location pointed to by <paramref name="path" /> should be the location that the row previously was at. It may not be a valid location anymore.</remarks>
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EmitRowHasChildToggled">
@@ -89,10 +63,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Emits the <see cref="E:Gtk.TreeModelSort.RowHasChildToggled" /> event.</summary>
-        <remarks>This should be called by models after the child state of a node changes.</remarks>
+        <param name="path">To be added.</param>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EmitRowInserted">
@@ -107,11 +82,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" />, path of the inserted row.</param>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" />, points to the inserted row.</param>
-        <summary>Emits the <see cref="E:Gtk.TreeModel.RowInserted" /> event.</summary>
-        <remarks>
-        </remarks>
+        <param name="path">To be added.</param>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="EmitRowsReordered">
@@ -143,9 +118,10 @@
         <ReturnType>Gtk.TreeModelFlags</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Returns a set of flags supported by this interface.</summary>
-        <value>an object of type <see cref="T:Gtk.TreeModelFlags" /></value>
-        <remarks>The flags are a bitwise combination of <see cref="T:Gtk.TreeModelFlags" />. The flags supported should not change during the lifecycle of the <see cref="T:Gtk.TreeModel" />.</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Foreach">
@@ -159,9 +135,10 @@
         <Parameter Name="func" Type="Gtk.TreeModelForeachFunc" />
       </Parameters>
       <Docs>
-        <param name="func">an object of type <see cref="T:Gtk.TreeModelForeachFunc" /></param>
-        <summary>Calls <paramref name="func" /> on each node in model in a depth-first fashion.</summary>
-        <remarks>If func returns <see langword="true" />, then the tree ceases to be walked, and this method returns.</remarks>
+        <param name="func">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnType">
@@ -175,10 +152,11 @@
         <Parameter Name="index_" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="index_">a <see cref="T:System.Int32" />, the column number.</param>
-        <summary>Returns the type of the column  at the given index.</summary>
-        <returns>a <see cref="T:GLib.GType" /></returns>
-        <remarks />
+        <param name="index_">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIter">
@@ -193,12 +171,12 @@
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
-        <summary>Sets <paramref name="iter" /> to a valid iterator pointing to <paramref name="path" />.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>
-        </remarks>
+        <param name="iter">To be added.</param>
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIterFirst">
@@ -212,10 +190,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Gets the first iterator in the tree (the one at the path "0") and returns <see langword="true" />.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>Returns <see langword="false" /> if the tree is empty.</remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIterFromString">
@@ -230,11 +209,12 @@
         <Parameter Name="path_string" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="path_string">an object of type <see cref="T:System.String" /></param>
-        <summary>Gets the <see cref="T:Gtk.TreeIter" /> at <paramref name="path_string" />.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>Otherwise, <paramref name="iter" /> is left invalid and <see langword="false" /> is returned.</remarks>
+        <param name="iter">To be added.</param>
+        <param name="path_string">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetPath">
@@ -248,11 +228,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Gets the <see cref="T:Gtk.TreePath" /> of <paramref name="iter" />.</summary>
-        <returns>an object of type <see cref="T:Gtk.TreePath" /></returns>
-        <remarks>
-        </remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetStringFromIter">
@@ -266,10 +246,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Generates a string representation of the path of <paramref name="iter" />.</summary>
-        <returns>a <see cref="T:System.String" /></returns>
-        <remarks>This string is a ':' separated list of numbers. For example, "4:10:0:3" would be an acceptable return value for this string.</remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetValist">
@@ -284,10 +265,11 @@
         <Parameter Name="var_args" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="var_args">a <see cref="T:System.IntPtr" />, pointer to the va_list data structure of arguments (FIXME: clarify what va_lists look like)</param>
-        <summary>Gets the values of child properties for the row pointed to by <paramref name="iter" />.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="var_args">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetValue">
@@ -302,11 +284,12 @@
         <Parameter Name="column" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <summary>Gets the value stored in column <paramref name="column" /> of the row pointed to by <paramref name="iter" />.</summary>
-        <returns>a <see cref="T:System.Object" /></returns>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetValue">
@@ -322,11 +305,12 @@
         <Parameter Name="value" Type="GLib.Value&" RefType="ref" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:GLib.Value" /></param>
-        <summary>Gets the value stored in column <paramref name="column" /> of the row pointed to by <paramref name="iter" /> and stores it in <paramref name="value" /></summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterChildren">
@@ -340,10 +324,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Sets the TreeIter object pointed to by <paramref name="iter" /> to point to the first child of this tree. </summary>
-        <returns>an object of type <see cref="T:System.Boolean" />, true if the iter has been set to the first child.</returns>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterChildren">
@@ -358,11 +343,12 @@
         <Parameter Name="parent" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="parent">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Sets <paramref name="iter" /> to point to the first child of <paramref name="parent" />.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>If <paramref name="parent" /> has no children, <see langword="false" /> is returned and <paramref name="iter" /> is set to be invalid. <paramref name="parent" /> will remain a valid node after this function has been called.</remarks>
+        <param name="iter">To be added.</param>
+        <param name="parent">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterHasChild">
@@ -376,11 +362,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Returns <see langword="true" /> if <paramref name="iter" /> has children, <see langword="false" /> otherwise.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>
-        </remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNChildren">
@@ -392,9 +378,10 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Returns the number of children that the <see cref="T:Gtk.TreeIter" /> has.</summary>
-        <returns>an object of type <see cref="T:System.Int32" /></returns>
-        <remarks>As a special case, if iter is <see langword="null" />, then the number of toplevel nodes is returned.</remarks>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNChildren">
@@ -408,10 +395,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Returns the number of children that <paramref name="iter" /> has.</summary>
-        <returns>an object of type <see cref="T:System.Int32" /></returns>
-        <remarks>As a special case, if <paramref name="iter" /> is <see langword="null" />, then the number of toplevel nodes is returned.</remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNext">
@@ -425,10 +413,11 @@
         <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="ref" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Sets <paramref name="iter" /> to point to the node following it at the current level.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>If there is no next iter, <see langword="false" /> is returned and iter is set to be invalid.</remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNthChild">
@@ -443,11 +432,12 @@
         <Parameter Name="n" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="n">an object of type <see cref="T:System.Int32" /></param>
-        <summary>Sets <paramref name="iter" /> to be the child of the root node, using the given index.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>In this case, the nth root node is set.</remarks>
+        <param name="iter">To be added.</param>
+        <param name="n">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNthChild">
@@ -463,12 +453,13 @@
         <Parameter Name="n" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="parent">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="n">an object of type <see cref="T:System.Int32" /></param>
-        <summary>Sets <paramref name="iter" /> to be the child of <paramref name="parent" />, using the given index.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>The first index is 0. If <paramref name="n" /> is too big, or <paramref name="parent" /> has no children, <paramref name="iter" /> is set to an invalid iterator and <see langword="false" /> is returned. <paramref name="parent" /> will remain a valid node after this function has been called.</remarks>
+        <param name="iter">To be added.</param>
+        <param name="parent">To be added.</param>
+        <param name="n">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterParent">
@@ -483,11 +474,12 @@
         <Parameter Name="child" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="child">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Sets <paramref name="iter" /> to be the parent of <paramref name="child" />.</summary>
-        <returns>an object of type <see cref="T:System.Boolean" /></returns>
-        <remarks>If <paramref name="child" /> is at the toplevel, and does not have a parent, then <paramref name="iter" /> is set to an invalid iterator and <see langword="false" /> is returned. <paramref name="child" /> will remain a valid node after this function has been called.</remarks>
+        <param name="iter">To be added.</param>
+        <param name="child">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterPrevious">
@@ -516,10 +508,10 @@
         <ReturnType>System.Int32</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Returns the number of columns supported by the <see cref="T:Gtk.TreeModel" />.</summary>
-        <value>an object of type <see cref="T:System.Int32" /></value>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefNode">
@@ -533,13 +525,10 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Lets the tree ref the node.</summary>
-        <remarks>
-          <para>This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons.</para>
-          <para>This function is primarily meant as a way for views to let caching models know when nodes are being displayed (and hence, whether or not to cache that node.) For example, a file-system based model would not want to keep the entire file-hierarchy in memory, just the sections that are currently being displayed by every current view.</para>
-          <para>A model should be expected to be able to get an iter independent of its referenced state.</para>
-        </remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowChanged">
@@ -549,11 +538,10 @@
       <ReturnValue>
         <ReturnType>Gtk.RowChangedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Emitted when a row has changed.</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowDeleted">
@@ -563,11 +551,10 @@
       <ReturnValue>
         <ReturnType>Gtk.RowDeletedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Emitted when a row is deleted.</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowHasChildToggled">
@@ -577,11 +564,10 @@
       <ReturnValue>
         <ReturnType>Gtk.RowHasChildToggledHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Emitted when a child of a row is toggled.</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowInserted">
@@ -591,11 +577,10 @@
       <ReturnValue>
         <ReturnType>Gtk.RowInsertedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Emitted when a row has been inserted into the model.</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RowsReordered">
@@ -605,11 +590,10 @@
       <ReturnValue>
         <ReturnType>Gtk.RowsReorderedHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Emitted when a row is re-ordered</summary>
-        <remarks>
-        </remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -625,11 +609,12 @@
         <Parameter Name="value" Type="System.Boolean" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.Boolean" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is a boolean.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -645,11 +630,12 @@
         <Parameter Name="value" Type="System.Double" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.Double" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is a <see cref="T:System.Double" />.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -665,11 +651,12 @@
         <Parameter Name="value" Type="System.Int32" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.Int32" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is an <see cref="T:System.Int32" />.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -685,11 +672,12 @@
         <Parameter Name="value" Type="System.Object" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.Object" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is an <see cref="T:System.Object" />.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -705,11 +693,12 @@
         <Parameter Name="value" Type="System.Single" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.Single" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is an <see cref="T:System.Single" />.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -725,11 +714,12 @@
         <Parameter Name="value" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.String" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is an <see cref="T:System.String" />.</summary>
-        <remarks />
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetValue">
@@ -745,11 +735,12 @@
         <Parameter Name="value" Type="System.UInt32" />
       </Parameters>
       <Docs>
-        <param name="iter">a <see cref="T:Gtk.TreeIter" /></param>
-        <param name="column">a <see cref="T:System.Int32" /></param>
-        <param name="value">a <see cref="T:System.UInt32" /></param>
-        <summary>Sets the value of column <paramref name="column" /> in the row pointed to by <paramref name="iter" /> to <paramref name="value" /> if the value is an <see cref="T:System.UInt32" />.</summary>
+        <param name="iter">To be added.</param>
+        <param name="column">To be added.</param>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnrefNode">
@@ -763,9 +754,10 @@
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <summary>Lets the tree unref the node.</summary>
-        <remarks>This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons.  For more information on what this means, see <see cref="M:Gtk.TreeModel.RefNode()" />. Please note that nodes that are deleted are not unreferenced.</remarks>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeModelImplementor.xml b/doc/en/Gtk/ITreeModelImplementor.xml
similarity index 93%
rename from doc/en/Gtk/TreeModelImplementor.xml
rename to doc/en/Gtk/ITreeModelImplementor.xml
index a42ad18..62a41db 100644
--- a/doc/en/Gtk/TreeModelImplementor.xml
+++ b/doc/en/Gtk/ITreeModelImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TreeModelImplementor" FullName="Gtk.TreeModelImplementor">
-  <TypeSignature Language="C#" Value="public interface TreeModelImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeModelImplementor implements class GLib.IWrapper" />
+<Type Name="ITreeModelImplementor" FullName="Gtk.ITreeModelImplementor">
+  <TypeSignature Language="C#" Value="public interface ITreeModelImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeModelImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>TreeModel implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.TreeModel" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="Flags">
@@ -31,6 +31,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetColumnType">
@@ -48,6 +49,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetIter">
@@ -67,6 +69,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetPath">
@@ -84,6 +87,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetValue">
@@ -104,6 +108,7 @@
         <param name="value">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterChildren">
@@ -123,6 +128,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterHasChild">
@@ -140,6 +146,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNChildren">
@@ -157,6 +164,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNext">
@@ -174,6 +182,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterNthChild">
@@ -195,6 +204,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterParent">
@@ -214,6 +224,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="IterPrevious">
@@ -245,6 +256,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="RefNode">
@@ -261,6 +273,7 @@
         <param name="iter">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="UnrefNode">
@@ -277,6 +290,7 @@
         <param name="iter">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeSortable.xml b/doc/en/Gtk/ITreeSortable.xml
similarity index 58%
rename from doc/en/Gtk/TreeSortable.xml
rename to doc/en/Gtk/ITreeSortable.xml
index d7ec77b..09a0cc3 100644
--- a/doc/en/Gtk/TreeSortable.xml
+++ b/doc/en/Gtk/ITreeSortable.xml
@@ -1,20 +1,18 @@
-<Type Name="TreeSortable" FullName="Gtk.TreeSortable">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface TreeSortable : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeSortable implements class GLib.IWrapper" />
+<Type Name="ITreeSortable" FullName="Gtk.ITreeSortable">
+  <TypeSignature Language="C#" Value="public interface ITreeSortable : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeSortable implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
   </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
   <Interfaces>
     <Interface>
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
-    <summary>An interface for specifying a tree model that is sortable.</summary>
-    <remarks>See <see cref="T:Gtk.TreeIterCompareFunc" /> for a working example of a sortable TreeView.</remarks>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="ChangeSortColumn">
@@ -26,8 +24,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>Fires a <see cref="E:Gtk.TreeSortable.SortColumnChanged" /> event.</summary>
-        <remarks>Designed to be called by routines that change the sort of the tree.</remarks>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="DefaultSortFunc">
@@ -38,10 +37,10 @@
         <ReturnType>Gtk.TreeIterCompareFunc</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>Function to sort columns by default if not otherwise specified by <see cref="T:Gtk.TreeModelSort.SetSortFunc" />.</summary>
-        <value>a <see cref="T:Gtk.TreeIterCompareFunc" /></value>
-        <remarks>This method is meant to be used together with <see cref="T:Gtk.TreeModelSort.ChangeSortColumn" /></remarks>
-        <since version="Gtk# 2.4" />
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSortColumnId">
@@ -56,11 +55,12 @@
         <Parameter Name="order" Type="Gtk.SortType&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="sort_column_id">a <see cref="T:System.Int32&" />, an integer to put the results in</param>
-        <param name="order">a <see cref="T:Gtk.SortType&" />, an object to put the type of sort into</param>
-        <summary>Returns the index of the column currently being used to sort the model data.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks />
+        <param name="sort_column_id">To be added.</param>
+        <param name="order">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasDefaultSortFunc">
@@ -70,11 +70,11 @@
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Return whether this TreeModel has a default sort function or not.</summary>
-        <value>a <see cref="T:System.Boolean" />, true if a default sort function exists.</value>
-        <remarks>See <see cref="M:Gtk.TreeModelSort.SetDefaultSortFunc" /> to set a default sort function.</remarks>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSortColumnId">
@@ -89,10 +89,11 @@
         <Parameter Name="order" Type="Gtk.SortType" />
       </Parameters>
       <Docs>
-        <param name="sort_column_id">A <see cref="T:System.Int32" />, the sort column index.</param>
-        <param name="order">A <see cref="T:Gtk.SortType" />, the kind of sort to use</param>
-        <summary>Sets which column is to be used to sort the data in the tree.</summary>
-        <remarks />
+        <param name="sort_column_id">To be added.</param>
+        <param name="order">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSortFunc">
@@ -107,11 +108,11 @@
         <Parameter Name="sort_func" Type="Gtk.TreeIterCompareFunc" />
       </Parameters>
       <Docs>
-        <param name="sort_column_id">A <see cref="System.Int32" />, the index of the column to be sorted</param>
-        <param name="sort_func">A <see cref="TGtk.TreeIterCompareFunc" />, the function to use for sorting</param>
-        <summary>Sets a function that should be used to be sort a particular column.</summary>
-        <remarks>This method is meant to be used together with <see cref="T:Gtk.TreeModelSort.ChangeSortColumn" /></remarks>
-        <since version="Gtk# 2.4" />
+        <param name="sort_column_id">To be added.</param>
+        <param name="sort_func">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SortColumnChanged">
@@ -121,10 +122,10 @@
       <ReturnValue>
         <ReturnType>System.EventHandler</ReturnType>
       </ReturnValue>
-      <Parameters />
       <Docs>
-        <summary>Raised when the sort column is changed.</summary>
-        <remarks />
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeSortableImplementor.xml b/doc/en/Gtk/ITreeSortableImplementor.xml
similarity index 90%
rename from doc/en/Gtk/TreeSortableImplementor.xml
rename to doc/en/Gtk/ITreeSortableImplementor.xml
index 988093f..675df91 100644
--- a/doc/en/Gtk/TreeSortableImplementor.xml
+++ b/doc/en/Gtk/ITreeSortableImplementor.xml
@@ -1,6 +1,6 @@
-<Type Name="TreeSortableImplementor" FullName="Gtk.TreeSortableImplementor">
-  <TypeSignature Language="C#" Value="public interface TreeSortableImplementor : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeSortableImplementor implements class GLib.IWrapper" />
+<Type Name="ITreeSortableImplementor" FullName="Gtk.ITreeSortableImplementor">
+  <TypeSignature Language="C#" Value="public interface ITreeSortableImplementor : GLib.IWrapper" />
+  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ITreeSortableImplementor implements class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -15,9 +15,9 @@
     </Attribute>
   </Attributes>
   <Docs>
-    <summary>TreeSortable implementor interface.</summary>
-    <remarks>The implementable portion of the <see cref="T:Gtk.TreeSortable" /> interface.</remarks>
-    <since version="Gtk# 2.12" />
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+    <since version="Gtk# 3.0" />
   </Docs>
   <Members>
     <Member MemberName="DefaultSortFunc">
@@ -51,6 +51,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="HasDefaultSortFunc">
@@ -64,6 +65,7 @@
         <summary>To be added.</summary>
         <value>To be added.</value>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSortColumnId">
@@ -82,6 +84,7 @@
         <param name="order">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetSortFunc">
diff --git a/doc/en/Gtk/IconPressArgs.xml b/doc/en/Gtk/IconPressArgs.xml
index 593a541..291c3f6 100644
--- a/doc/en/Gtk/IconPressArgs.xml
+++ b/doc/en/Gtk/IconPressArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Entry.IconPress" /> event invokes <see cref="T:Gtk.IconPressHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.IconPressArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.IconPressHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/IconPressHandler.xml b/doc/en/Gtk/IconPressHandler.xml
index 8416913..b37f451 100644
--- a/doc/en/Gtk/IconPressHandler.xml
+++ b/doc/en/Gtk/IconPressHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Entry.IconPress" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.IconPressArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.IconPressHandler" /> to an event, add the IconPressHandler instance to the event.  The methods referenced by the IconPressHandler instance are invoked whenever the event is raised, until the IconPressHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/IconReleaseArgs.xml b/doc/en/Gtk/IconReleaseArgs.xml
index 6efd598..5ffa04f 100644
--- a/doc/en/Gtk/IconReleaseArgs.xml
+++ b/doc/en/Gtk/IconReleaseArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Entry.IconRelease" /> event invokes <see cref="T:Gtk.IconReleaseHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.IconReleaseArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.IconReleaseHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/IconReleaseHandler.xml b/doc/en/Gtk/IconReleaseHandler.xml
index 1bc8e05..cbe149d 100644
--- a/doc/en/Gtk/IconReleaseHandler.xml
+++ b/doc/en/Gtk/IconReleaseHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Entry.IconRelease" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.IconReleaseArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.IconReleaseHandler" /> to an event, add the IconReleaseHandler instance to the event.  The methods referenced by the IconReleaseHandler instance are invoked whenever the event is raised, until the IconReleaseHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/IconTheme.xml b/doc/en/Gtk/IconTheme.xml
index 1c18bcb..8f6cb5d 100644
--- a/doc/en/Gtk/IconTheme.xml
+++ b/doc/en/Gtk/IconTheme.xml
@@ -312,14 +312,14 @@ In general, if you use <see cref="M:Gtk.IconTheme.AddBuiltinIcon()" /> you shoul
       </Docs>
     </Member>
     <Member MemberName="LookupIcon">
-      <MemberSignature Language="C#" Value="public Gtk.IconInfo LookupIcon (GLib.Icon icon, int size, Gtk.IconLookupFlags flags);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.IconInfo LookupIcon(class GLib.Icon icon, int32 size, valuetype Gtk.IconLookupFlags flags) cil managed" />
+      <MemberSignature Language="C#" Value="public Gtk.IconInfo LookupIcon (GLib.IIcon icon, int size, Gtk.IconLookupFlags flags);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.IconInfo LookupIcon(class GLib.IIcon icon, int32 size, valuetype Gtk.IconLookupFlags flags) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.IconInfo</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
         <Parameter Name="size" Type="System.Int32" />
         <Parameter Name="flags" Type="Gtk.IconLookupFlags" />
       </Parameters>
diff --git a/doc/en/Gtk/IconView.xml b/doc/en/Gtk/IconView.xml
index a6c96eb..30af84a 100644
--- a/doc/en/Gtk/IconView.xml
+++ b/doc/en/Gtk/IconView.xml
@@ -1,6 +1,6 @@
 <Type Name="IconView" FullName="Gtk.IconView">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class IconView : Gtk.Container, Gtk.CellLayout, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit IconView extends Gtk.Container implements class GLib.IWrapper, class Gtk.CellLayout, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class IconView : Gtk.Container, Gtk.ICellLayout, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit IconView extends Gtk.Container implements class GLib.IWrapper, class Gtk.ICellLayout, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,10 +11,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -218,17 +218,17 @@ public class DemoIconView : Window
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public IconView (Gtk.TreeModel model);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModel model) cil managed" />
+      <MemberSignature Language="C#" Value="public IconView (Gtk.ITreeModel model);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModel model) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
       </Parameters>
       <Docs>
-        <param name="model">a <see cref="T:Gtk.TreeModel" /></param>
-        <summary>Create a new IconView with a model.</summary>
-        <remarks />
+        <param name="model">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -663,8 +663,8 @@ public class DemoIconView : Window
       </Docs>
     </Member>
     <Member MemberName="GetTooltipContext">
-      <MemberSignature Language="C#" Value="public bool GetTooltipContext (out int x, out int y, bool keyboard_tip, out Gtk.TreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool GetTooltipContext(int32 x, int32 y, bool keyboard_tip, class Gtk.TreeModel model, class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
+      <MemberSignature Language="C#" Value="public bool GetTooltipContext (out int x, out int y, bool keyboard_tip, out Gtk.ITreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool GetTooltipContext(int32 x, int32 y, bool keyboard_tip, class Gtk.ITreeModel model, class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
@@ -673,7 +673,7 @@ public class DemoIconView : Window
         <Parameter Name="x" Type="System.Int32&" RefType="out" />
         <Parameter Name="y" Type="System.Int32&" RefType="out" />
         <Parameter Name="keyboard_tip" Type="System.Boolean" />
-        <Parameter Name="model" Type="Gtk.TreeModel&" RefType="out" />
+        <Parameter Name="model" Type="Gtk.ITreeModel&" RefType="out" />
         <Parameter Name="path" Type="Gtk.TreePath&" RefType="out" />
         <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="out" />
       </Parameters>
@@ -687,7 +687,7 @@ public class DemoIconView : Window
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetVisibleRange">
@@ -877,8 +877,8 @@ public class DemoIconView : Window
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -886,7 +886,7 @@ public class DemoIconView : Window
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/IframeCreatedArgs.xml b/doc/en/Gtk/IframeCreatedArgs.xml
deleted file mode 100644
index 312dc66..0000000
--- a/doc/en/Gtk/IframeCreatedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="IframeCreatedArgs" FullName="Gtk.IframeCreatedArgs">
-  <TypeSignature Language="C#" Value="public class IframeCreatedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.IframeCreated" /> event invokes <see cref="T:Gtk.IframeCreatedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public IframeCreatedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.IframeCreatedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.IframeCreatedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Iframe">
-      <MemberSignature Language="C#" Value="public Gtk.HTML Iframe { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTML</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The IFRAME element that was created.</summary>
-        <value>a <see cref="T:Gtk.HTML" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/IframeCreatedHandler.xml b/doc/en/Gtk/IframeCreatedHandler.xml
deleted file mode 100644
index 8d58e69..0000000
--- a/doc/en/Gtk/IframeCreatedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="IframeCreatedHandler" FullName="Gtk.IframeCreatedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void IframeCreatedHandler(object o, IframeCreatedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.IframeCreated" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.IframeCreatedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.IframeCreatedHandler" /> to an event, add the IframeCreatedHandler instance to the event.  The methods referenced by the IframeCreatedHandler instance are invoked whenever the event is raised, until the IframeCreatedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.IframeCreatedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Image.xml b/doc/en/Gtk/Image.xml
index 4f35f19..da69e0c 100644
--- a/doc/en/Gtk/Image.xml
+++ b/doc/en/Gtk/Image.xml
@@ -123,11 +123,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Image (GLib.Icon icon, Gtk.IconSize size);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon icon, valuetype Gtk.IconSize size) cil managed" />
+      <MemberSignature Language="C#" Value="public Image (GLib.IIcon icon, Gtk.IconSize size);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon icon, valuetype Gtk.IconSize size) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
         <Parameter Name="size" Type="Gtk.IconSize" />
       </Parameters>
       <Docs>
@@ -327,14 +327,14 @@ If the value is <see langword="null" />, the image will be looked up on the call
       </Docs>
     </Member>
     <Member MemberName="GetIcon">
-      <MemberSignature Language="C#" Value="public void GetIcon (out GLib.Icon gicon, out Gtk.IconSize size);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetIcon(class GLib.Icon gicon, valuetype Gtk.IconSize size) cil managed" />
+      <MemberSignature Language="C#" Value="public void GetIcon (out GLib.IIcon gicon, out Gtk.IconSize size);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void GetIcon(class GLib.IIcon gicon, valuetype Gtk.IconSize size) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="gicon" Type="GLib.Icon&" RefType="out" />
+        <Parameter Name="gicon" Type="GLib.IIcon&" RefType="out" />
         <Parameter Name="size" Type="Gtk.IconSize&" RefType="out" />
       </Parameters>
       <Docs>
@@ -418,8 +418,8 @@ If the value is <see langword="null" />, the image will be looked up on the call
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -427,7 +427,7 @@ If the value is <see langword="null" />, the image will be looked up on the call
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -606,14 +606,14 @@ If the value is <see langword="null" />, the image will be looked up on the call
       </Docs>
     </Member>
     <Member MemberName="SetFromIcon">
-      <MemberSignature Language="C#" Value="public void SetFromIcon (GLib.Icon icon, Gtk.IconSize size);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetFromIcon(class GLib.Icon icon, valuetype Gtk.IconSize size) cil managed" />
+      <MemberSignature Language="C#" Value="public void SetFromIcon (GLib.IIcon icon, Gtk.IconSize size);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetFromIcon(class GLib.IIcon icon, valuetype Gtk.IconSize size) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
         <Parameter Name="size" Type="Gtk.IconSize" />
       </Parameters>
       <Docs>
diff --git a/doc/en/Gtk/InfoBar.xml b/doc/en/Gtk/InfoBar.xml
index b8b5eae..72f488b 100644
--- a/doc/en/Gtk/InfoBar.xml
+++ b/doc/en/Gtk/InfoBar.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -146,9 +146,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.InfoBar" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -185,8 +185,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.InfoBar.Close" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.InfoBar.Close" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -207,8 +207,8 @@
       </Parameters>
       <Docs>
         <param name="response_id">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.InfoBar.Respond" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.InfoBar.Respond" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Input.xml b/doc/en/Gtk/Input.xml
deleted file mode 100644
index a7dcb4e..0000000
--- a/doc/en/Gtk/Input.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<Type Name="Input" FullName="Gtk.Input">
-  <TypeSignature Language="C#" Value="public class Input" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Input-handling code for the main loop of programs.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="AddFull">
-      <MemberSignature Language="C#" Value="public static uint AddFull (int source, Gdk.InputCondition condition, Gdk.InputFunction function, Gtk.CallbackMarshal marshal, IntPtr data, Gtk.DestroyNotify destroy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="source" Type="System.Int32" />
-        <Parameter Name="condition" Type="Gdk.InputCondition" />
-        <Parameter Name="function" Type="Gdk.InputFunction" />
-        <Parameter Name="marshal" Type="Gtk.CallbackMarshal" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Registers a function to be called when a condition becomes true on a file descriptor. </summary>
-        <param name="source">an <see cref="T:System.Int32" />, a file descriptor. </param>
-        <param name="condition">an <see cref="T:Gdk.InputCondition" />, the condition. </param>
-        <param name="function">an <see cref="T:Gdk.InputFunction" />, the function to call. </param>
-        <param name="marshal">a <see cref="T:Gtk.CallbackMarshal" />, the marshaller to use instead of the function (if non-null). </param>
-        <param name="data">a <see cref="T:System.IntPtr" />, callback data passed to the function. </param>
-        <param name="destroy">a <see cref="T:Gtk.DestroyNotify" />, the callback function to call with "data" when the input handler is removed, or null. </param>
-        <returns>a <see cref="T:System.UInt32" />, a unique id for the event source; to be used with <see cref="M:Gtk.Input.Remove" />. </returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Remove">
-      <MemberSignature Language="C#" Value="public static void Remove (uint input_handler_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="input_handler_id" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Removes the function with the given id. </summary>
-        <param name="input_handler_id">a <see cref="T:System.UInt32" /> identifying the function to remove, provided by <see cref="M:Gtk.Input.AddFull" />.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Input ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Basic constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/InputDialog.xml b/doc/en/Gtk/InputDialog.xml
deleted file mode 100644
index 4f7d32f..0000000
--- a/doc/en/Gtk/InputDialog.xml
+++ /dev/null
@@ -1,186 +0,0 @@
-<Type Name="InputDialog" FullName="Gtk.InputDialog">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class InputDialog : Gtk.Dialog" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Configure devices for the XInput extension.</summary>
-    <remarks>
-      <para>
-				 NOTE: this <see cref="T:Gtk.Widget" /> is considered too specialized/little-used for Gtk#, and will in the future be moved to some other package.
-				 If your application needs this <see cref="T:Gtk.Widget" />, feel free to use it, as the <see cref="T:Gtk.Widget" /> does work and is useful in some applications; it's just not of general interest.
-				 However, we are not accepting new features for the <see cref="T:Gtk.Widget" />, and it will eventually move out of the Gtk# distribution.
-			</para>
-      <para>
-        <see cref="T:Gtk.InputDialog" /> displays a <see cref="T:Gtk.Dialog" /> which allows the user to configure XInput extension devices.
-				For each device, they can control the mode of the device (disabled, screen-relative, or window-relative), the mapping of axes to coordinates, and the mapping of the devices macro keys to key press events.
-			</para>
-      <para>
-        <see cref="T:Gtk.InputDialog" /> contains two <see cref="T:Gtk.Button" />s to which the application can connect; one for closing the <see cref="T:Gtk.Dialog" />, and one for saving the changes.
-				No actions are bound to these by default.
-				The changes that the user makes take effect immediately.
-			</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Dialog</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public InputDialog (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public InputDialog ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates an instance of <see cref="T:Gtk.InputDialog" /></summary>
-        <remarks>Creates an instance of <see cref="T:Gtk.InputDialog" /></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DisableDevice">
-      <MemberSignature Language="C#" Value="public event Gtk.DisableDeviceHandler DisableDevice;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.DisableDeviceHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the user changes the mode of a device from a GDK_MODE_SCREEN or GDK_MODE_WINDOW to GDK_MODE_ENABLED.</summary>
-        <remarks>
-					This signal is emitted when the user changes the mode of a device from a GDK_MODE_SCREEN or GDK_MODE_WINDOW to GDK_MODE_ENABLED.
-				</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("disable_device")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="EnableDevice">
-      <MemberSignature Language="C#" Value="public event Gtk.EnableDeviceHandler EnableDevice;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.EnableDeviceHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the user changes the mode of a device from GDK_MODE_DISABLED to a GDK_MODE_SCREEN or GDK_MODE_WINDOW.</summary>
-        <remarks>
-					This signal is emitted when the user changes the mode of a device from GDK_MODE_DISABLED to a GDK_MODE_SCREEN or GDK_MODE_WINDOW.
-				</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("enable_device")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.InputDialog" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnEnableDevice">
-      <MemberSignature Language="C#" Value="protected virtual void OnEnableDevice (Gdk.Device device);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="device" Type="Gdk.Device" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.InputDialog.EnableDevice" /> event.</summary>
-        <param name="device">a <see cref="T:Gdk.Device" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.InputDialog.EnableDevice" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnDisableDevice">
-      <MemberSignature Language="C#" Value="protected virtual void OnDisableDevice (Gdk.Device device);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="device" Type="Gdk.Device" />
-      </Parameters>
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.InputDialog.DisableDevice" /> event.</summary>
-        <param name="device">a <see cref="T:Gdk.Device" /></param>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.InputDialog.DisableDevice" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected InputDialog (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SaveButton">
-      <MemberSignature Language="C#" Value="public Gtk.Button SaveButton { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The save button in this dialog.</summary>
-        <value>a <see cref="T:Gtk.Button" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="CloseButton">
-      <MemberSignature Language="C#" Value="public Gtk.Button CloseButton { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Button</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The "close window" button in this dialog.</summary>
-        <value>a <see cref="T:Gtk.Button" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/InsertedTextArgs.xml b/doc/en/Gtk/InsertedTextArgs.xml
index 766fada..d4f19ed 100644
--- a/doc/en/Gtk/InsertedTextArgs.xml
+++ b/doc/en/Gtk/InsertedTextArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.EntryBuffer.InsertedText" /> event invokes <see cref="T:Gtk.InsertedTextHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.InsertedTextArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.InsertedTextHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/InsertedTextHandler.xml b/doc/en/Gtk/InsertedTextHandler.xml
index ad35c7a..afc012c 100644
--- a/doc/en/Gtk/InsertedTextHandler.xml
+++ b/doc/en/Gtk/InsertedTextHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.EntryBuffer.InsertedText" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.InsertedTextArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.InsertedTextHandler" /> to an event, add the InsertedTextHandler instance to the event.  The methods referenced by the InsertedTextHandler instance are invoked whenever the event is raised, until the InsertedTextHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/InsertionColorChangedArgs.xml b/doc/en/Gtk/InsertionColorChangedArgs.xml
deleted file mode 100644
index ffb8b34..0000000
--- a/doc/en/Gtk/InsertionColorChangedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="InsertionColorChangedArgs" FullName="Gtk.InsertionColorChangedArgs">
-  <TypeSignature Language="C#" Value="public class InsertionColorChangedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.InsertionColorChanged" /> event invokes <see cref="T:Gtk.InsertionColorChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public InsertionColorChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.InsertionColorChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.InsertionColorChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Color">
-      <MemberSignature Language="C#" Value="public Gdk.Color Color { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Color</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The color under the insertion point after the change.</summary>
-        <value>The new color, a <see cref="T:Gdk.Color" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/InsertionColorChangedHandler.xml b/doc/en/Gtk/InsertionColorChangedHandler.xml
deleted file mode 100644
index 9e1fe23..0000000
--- a/doc/en/Gtk/InsertionColorChangedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="InsertionColorChangedHandler" FullName="Gtk.InsertionColorChangedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void InsertionColorChangedHandler(object o, InsertionColorChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.InsertionColorChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.InsertionColorChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.InsertionColorChangedHandler" /> to an event, add the InsertionColorChangedHandler instance to the event.  The methods referenced by the InsertionColorChangedHandler instance are invoked whenever the event is raised, until the InsertionColorChangedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.InsertionColorChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/InsertionFontStyleChangedArgs.xml b/doc/en/Gtk/InsertionFontStyleChangedArgs.xml
deleted file mode 100644
index 0b8604f..0000000
--- a/doc/en/Gtk/InsertionFontStyleChangedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="InsertionFontStyleChangedArgs" FullName="Gtk.InsertionFontStyleChangedArgs">
-  <TypeSignature Language="C#" Value="public class InsertionFontStyleChangedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.InsertionFontStyleChanged" /> event invokes <see cref="T:Gtk.InsertionFontStyleChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public InsertionFontStyleChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.InsertionFontStyleChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.InsertionFontStyleChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Style">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLFontStyle Style { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLFontStyle</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The style that was set during the change.</summary>
-        <value>a <see cref="T:Gtk.HTMLFontStyle" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/InsertionFontStyleChangedHandler.xml b/doc/en/Gtk/InsertionFontStyleChangedHandler.xml
deleted file mode 100644
index 6e95463..0000000
--- a/doc/en/Gtk/InsertionFontStyleChangedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="InsertionFontStyleChangedHandler" FullName="Gtk.InsertionFontStyleChangedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void InsertionFontStyleChangedHandler(object o, InsertionFontStyleChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.InsertionFontStyleChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.InsertionFontStyleChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.InsertionFontStyleChangedHandler" /> to an event, add the InsertionFontStyleChangedHandler instance to the event.  The methods referenced by the InsertionFontStyleChangedHandler instance are invoked whenever the event is raised, until the InsertionFontStyleChangedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.InsertionFontStyleChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Item.xml b/doc/en/Gtk/Item.xml
deleted file mode 100644
index d050ea8..0000000
--- a/doc/en/Gtk/Item.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<Type Name="Item" FullName="Gtk.Item">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class Item : Gtk.Bin" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Abstract base class for <see cref="T:Gtk.MenuItem" />, <see cref="T:Gtk.ListItem" /> and <see cref="T:Gtk.TreeItem" />.</summary>
-    <remarks>The <see cref="T:Gtk.Item" /> widget is an abstract base class for <see cref="T:Gtk.MenuItem" />, <see cref="T:Gtk.ListItem" /> and <see cref="T:Gtk.TreeItem" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Bin</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Toggle">
-      <MemberSignature Language="C#" Value="public void Toggle ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emits the <see cref="E:Gtk.Item.Toggled" /> event on the given item.</summary>
-        <remarks>Emits the <see cref="E:Gtk.Item.Toggled" /> event on the given item.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Deselect">
-      <MemberSignature Language="C#" Value="public void Deselect ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emits the <see cref="E:Gtk.Item.Deselected" /> event on the given item.</summary>
-        <remarks>Emits the <see cref="E:Gtk.Item.Deselected" /> event on the given item.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Select">
-      <MemberSignature Language="C#" Value="public void Select ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emits the <see cref="E:Gtk.Item.Selected" /> event on the given item.</summary>
-        <remarks>Emits the <see cref="E:Gtk.Item.Selected" /> event on the given item.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Item (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Deselected">
-      <MemberSignature Language="C#" Value="public event EventHandler Deselected;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the <see cref="T:Gtk.Item" /> is deselected.</summary>
-        <remarks>Emitted when the <see cref="T:Gtk.Item" /> is deselected.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("deselect")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Selected">
-      <MemberSignature Language="C#" Value="public event EventHandler Selected;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the <see cref="T:Gtk.Item" /> is selected.</summary>
-        <remarks>Emitted when the <see cref="T:Gtk.Item" /> is selected.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("select")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Toggled">
-      <MemberSignature Language="C#" Value="public event EventHandler Toggled;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the <see cref="T:Gtk.Item" /> is toggled.</summary>
-        <remarks>Emitted when the <see cref="T:Gtk.Item" /> is toggled.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("toggle")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Item" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnToggled">
-      <MemberSignature Language="C#" Value="protected virtual void OnToggled ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.Item.Toggled" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Item.Toggled" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnSelected">
-      <MemberSignature Language="C#" Value="protected virtual void OnSelected ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.Item.Selected" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Item.Selected" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnDeselected">
-      <MemberSignature Language="C#" Value="protected virtual void OnDeselected ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.Item.Deselected" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Item.Deselected" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Item (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Item ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Constructor</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="FactoriesPathDelete">
-      <MemberSignature Language="C#" Value="public static void FactoriesPathDelete (string ifactory_path, string path);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="ifactory_path" Type="System.String" />
-        <Parameter Name="path" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deletes all widgets constructed from the specified path.</summary>
-        <param name="ifactory_path">a <see cref="T:System.String" />, a factory path to prepend to <paramref name="path" />. May be <see langword="null" /> if <paramref name="path" /> starts with a factory path.</param>
-        <param name="path">a <see cref="T:System.String" />, a path</param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ItemFactory.xml b/doc/en/Gtk/ItemFactory.xml
deleted file mode 100644
index 65537fd..0000000
--- a/doc/en/Gtk/ItemFactory.xml
+++ /dev/null
@@ -1,546 +0,0 @@
-<Type Name="ItemFactory" FullName="Gtk.ItemFactory">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class ItemFactory : Gtk.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A factory for menus.</summary>
-    <remarks>
-      To use this class, make an array of 
-      <see cref="T:Gtk.MenuEntry" /> objects which describe a menu, then invoke
-      <see cref="M:Gtk.ItemFactory.CreateMenuEntries" /> to generate the menu.
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Object</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="PathFromWidget">
-      <MemberSignature Language="C#" Value="public static string PathFromWidget (Gtk.Widget widget);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="widget" Type="Gtk.Widget" />
-      </Parameters>
-      <Docs>
-        <summary>If <paramref name="widget" /> has been created by an item factory, returns the full path to it.</summary>
-        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
-        <returns>The full path to <paramref name="widget" /> if it has been created by an item factory, <see langword="null" /> otherwise. This value is owned by GTK+ and must not be modified or freed.</returns>
-        <remarks>
-          <para>
-	  The full path of a <paramref name="widget" /> is the concatenation of the factory path specified in <see cref="M:Gtk.ItemFactory.Construct" /> with the path specified in the <see cref="T:Gtk.ItemFactoryEntry" /> from which the <paramref name="widget" /> was created.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="FromWidget">
-      <MemberSignature Language="C#" Value="public static Gtk.ItemFactory FromWidget (Gtk.Widget widget);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ItemFactory</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="widget" Type="Gtk.Widget" />
-      </Parameters>
-      <Docs>
-        <summary>Obtains the item factory from which a <paramref name="widget" /> was created.</summary>
-        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
-        <returns>The item factory from which <paramref name="widget" /> was created, or <see langword="null" />.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="PopupDataFromWidget">
-      <MemberSignature Language="C#" Value="public static IntPtr PopupDataFromWidget (Gtk.Widget widget);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="widget" Type="Gtk.Widget" />
-      </Parameters>
-      <Docs>
-        <summary>Obtains the <paramref name="popup_data" /> which was passed to <see cref="M:Gtk.ItemFactory.PopupWithData" />.</summary>
-        <param name="widget">A <see cref="T:Gtk.Widget" />.</param>
-        <returns>
-          <paramref name="popup_data" /> associated with the item factory from which <paramref name="widget" /> was created, or <see langword="null" /> if <paramref name="widget" /> wasn't created by an item factory.</returns>
-        <remarks>
-          <para>
-	  This data is available until the menu is popped down again.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AddForeign">
-      <MemberSignature Language="C#" Value="public static void AddForeign (Gtk.Widget accel_widget, string full_path, Gtk.AccelGroup accel_group, uint keyval, Gdk.ModifierType modifiers);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="accel_widget" Type="Gtk.Widget" />
-        <Parameter Name="full_path" Type="System.String" />
-        <Parameter Name="accel_group" Type="Gtk.AccelGroup" />
-        <Parameter Name="keyval" Type="System.UInt32" />
-        <Parameter Name="modifiers" Type="Gdk.ModifierType" />
-      </Parameters>
-      <Docs>
-        <summary>Installs an accelerator for <paramref name="accel_widget" /> in <paramref name="accel_group" />, that causes the activate event to be emitted it the accelerator is activated.</summary>
-        <param name="accel_widget">Widget to install an accelerator on.</param>
-        <param name="full_path">The full path for the <paramref name="accel_widget" />.</param>
-        <param name="accel_group">The accelerator group to install the accelerator in.</param>
-        <param name="keyval">Key value of the accelerator.</param>
-        <param name="modifiers">Modifier combination of the acelerator.</param>
-        <remarks>
-          <para>
-	  This method can be used to make widgets participate in the accel saving/restoring functionality provided by <see cref="M:Gtk.Accel.MapSave" /> and <see cref="M:Gtk.Accel.MapLoad" />, even if they haven't been created by an item factory. The recommended API for this purpose are the <see cref="P:Gtk.Menu.AccelPath" /> and <see cref="P:Gtk.Widget.SetAccelPath" />; don't use <see cref="M:Gtk.ItemFactory.AddForeign" /> in new code, since it is likely to be removed in the future.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteEntries">
-      <MemberSignature Language="C#" Value="public void DeleteEntries (uint n_entries, Gtk.ItemFactoryEntry entries);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="n_entries" Type="System.UInt32" />
-        <Parameter Name="entries" Type="Gtk.ItemFactoryEntry" />
-      </Parameters>
-      <Docs>
-        <summary>Deletes the menu items which were created from the entries by the given item factory.</summary>
-        <param name="n_entries">The length of <paramref name="entries" />.</param>
-        <param name="entries">An array of <see cref="T:Gtk.ItemFactoryEntry" />s.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetItem">
-      <MemberSignature Language="C#" Value="public Gtk.Widget GetItem (uint action);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="action" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Obtains the menu item which correponds to <paramref name="action" />.</summary>
-        <param name="action">A <see cref="T:System.UInt32" /> (TODO: where is this enumerated?)</param>
-        <returns>A <see cref="T:Gtk.Widget" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteEntry">
-      <MemberSignature Language="C#" Value="public void DeleteEntry (Gtk.ItemFactoryEntry entry);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="entry" Type="Gtk.ItemFactoryEntry" />
-      </Parameters>
-      <Docs>
-        <summary>Deletes the menu item which was created from <paramref name="entry" /> by the given item factory.</summary>
-        <param name="entry">A <see cref="T:Gtk.ItemFactoryEntry" />.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="CreateItem">
-      <MemberSignature Language="C#" Value="public void CreateItem (Gtk.ItemFactoryEntry entry, IntPtr callback_data, uint callback_type);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="entry" Type="Gtk.ItemFactoryEntry" />
-        <Parameter Name="callback_data" Type="System.IntPtr" />
-        <Parameter Name="callback_type" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Creates an item for <paramref name="entry" />.</summary>
-        <param name="entry">The <see cref="T:Gtk.ItemFactoryEntry" /> to create an item for.</param>
-        <param name="callback_data">Data passed to the callback method of <paramref name="entry" />.</param>
-        <param name="callback_type">1 if the callback method of <paramref name="entry" /> is of type <see cref="T:Gtk.ItemFactoryCallback" />, 2 if it is of type <see cref="T:Gtk.ItemFactoryCallback1" />.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetWidget">
-      <MemberSignature Language="C#" Value="public Gtk.Widget GetWidget (uint action);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="action" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Obtains the <paramref name="widget" /> which corresponds to <paramref name="action" />.</summary>
-        <param name="action">A <see cref="T:System.UInt32" /> (TODO: where is this enumerated?)</param>
-        <returns>A <see cref="T:Gtk.Widget" /></returns>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GetItem">
-      <MemberSignature Language="C#" Value="public Gtk.Widget GetItem (string path);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="path" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Obtains the menu item which corresponds to <paramref name="path" />.</summary>
-        <param name="path">The path to the menu item.</param>
-        <returns>The menu item for the given path, or <see langword="null" /> if <paramref name="path" /> doesn't lead to a menu item.</returns>
-        <remarks>
-          <para>
-	  If the <paramref name="widget" /> corresponding to <paramref name="path" /> is a menu item which opens a submenum, then the item is returned. If you are interested in the submenum, use <see cref="M:Gtk.ItemFactory.GetWidget" /> instead.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DeleteItem">
-      <MemberSignature Language="C#" Value="public void DeleteItem (string path);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="path" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deletes the menu item which was created for <paramref name="path" /> by the given item factory.</summary>
-        <param name="path">A path.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="PopupData">
-      <MemberSignature Language="C#" Value="public IntPtr PopupData ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Obtains the <paramref name="popup_data" /> which was passed to <see cref="M:Gtk.ItemFactory.PopupWithData" />.</summary>
-        <returns>
-          <paramref name="popup_data" /> associated.</returns>
-        <remarks>
-          <para>
-	  This data is available until the menu is popped down again.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CreateItems">
-      <MemberSignature Language="C#" Value="public void CreateItems (uint n_entries, Gtk.ItemFactoryEntry entries, IntPtr callback_data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="n_entries" Type="System.UInt32" />
-        <Parameter Name="entries" Type="Gtk.ItemFactoryEntry" />
-        <Parameter Name="callback_data" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Creates the menu items from the <paramref name="entries" />.</summary>
-        <param name="n_entries">The length of <paramref name="entries" />.</param>
-        <param name="entries">An array of <see cref="T:Gtk.ItemFactoryEntry" />s whose <paramref name="callback" /> members must be of type <see cref="T:Gtk.ItemFactoryCallback1" />.</param>
-        <param name="callback_data">Data passed to the callback methods of all entries.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetWidget">
-      <MemberSignature Language="C#" Value="public Gtk.Widget GetWidget (string path);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="path" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Obtains the <paramref name="widget" /> which corresponds to <paramref name="path" />.</summary>
-        <param name="path">The path to the <paramref name="widget" />.</param>
-        <returns>The <paramref name="widget" /> for the given path, or <see langword="null" /> if <paramref name="path" /> doesn't lead to a <paramref name="widget" />.</returns>
-        <remarks>
-          <para>
-	  If the <paramref name="widget" /> corresponding to <paramref name="path" /> is a menu item which opens a submenu, then the submenu is returned. If you are interested in the menu item, use <see cref="M:Gtk:ItemFactory.GetItem" /> instead.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetTranslateFunc" Deprecated="true">
-      <MemberSignature Language="C#" Value="public void SetTranslateFunc (Gtk.TranslateFunc func, IntPtr data, Gtk.DestroyNotify notify);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="func" Type="Gtk.TranslateFunc" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="notify" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Sets a method to be used for translating the path elements before they are displayed.</summary>
-        <param name="func">The <see cref="T:Gtk.TraslateFunc" /> delegate to be used to traslate path elements.</param>
-        <param name="data">ignored</param>
-        <param name="notify">ignored</param>
-        <remarks>This method is obsolete. New code should use the <see cref="M:Gtk.ItemFactory.TranslateFunc" /> property instead.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TranslateFunc">
-      <MemberSignature Language="C#" Value="public Gtk.TranslateFunc TranslateFunc { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TranslateFunc</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The method to be used for translating the path elements before they are displayed.</summary>
-        <value>a <see cref="T:Gtk.TranslateFunc" /></value>
-        <remarks />
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ItemFactory (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="PopupWithData">
-      <MemberSignature Language="C#" Value="public void PopupWithData (IntPtr popup_data, Gtk.DestroyNotify destroy, uint x, uint y, uint mouse_button, uint time_);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="popup_data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
-        <Parameter Name="x" Type="System.UInt32" />
-        <Parameter Name="y" Type="System.UInt32" />
-        <Parameter Name="mouse_button" Type="System.UInt32" />
-        <Parameter Name="time_" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Pops up the menu constructed form the item factory at (<paramref name="x" />, <paramref name="y" />).</summary>
-        <param name="popup_data">Data available for callbacks while the menu is posted.</param>
-        <param name="destroy">A <see cref="T:Gtk.DestroyNotify" /> to be called on <paramref name="popup_data" /> when the menu is unposted.</param>
-        <param name="x">The x position.</param>
-        <param name="y">The y position.</param>
-        <param name="mouse_button">The mouse button which was pressed to initiate the popup.</param>
-        <param name="time_">The time at which the activation event ocurred.</param>
-        <remarks>
-          <para>
-	  Callbacks can access the <paramref name="popup_data" /> while the menu is posted via <see cref="M:Gtk.ItemFactory.PopupData" /> and <see cref="M:Gtk.ItemFactory.PopupDataFromWidget" />.
-	 </para>
-          <para>
-	  The <paramref name="mouse_button" /> should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, <paramref name="mouse_button" /> should be 0.
-	 </para>
-          <para>
-	  The <paramref name="time_" /> should be the time stamp of the event that initiated the popup. If such a event is not available, use <see cref="P:Gtk.Global.CurrentEventTime" /> instead.
-	 </para>
-          <para>
-	  The operation of the <paramref name="mouse_button" /> and the <paramref name="time_" /> is the same as the <paramref name="button" /> and <paramref name="activation_time" /> for <see cref="M:Gtk.Menu.Popup" />.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Popup">
-      <MemberSignature Language="C#" Value="public void Popup (uint x, uint y, uint mouse_button, uint time_);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="x" Type="System.UInt32" />
-        <Parameter Name="y" Type="System.UInt32" />
-        <Parameter Name="mouse_button" Type="System.UInt32" />
-        <Parameter Name="time_" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Pops up the menu constructed from the item factory at (<paramref name="x" />, <paramref name="y" />).</summary>
-        <param name="x">The x position.</param>
-        <param name="y">The y position.</param>
-        <param name="mouse_button">The mouse button which was pressed to initiate the popup.</param>
-        <param name="time_">The time at which the activation event ocurred.</param>
-        <remarks>
-          <para>
-	  The <paramref name="mouse_button" /> should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, <paramref name="mouse_button" /> should be 0.
-	 </para>
-          <para>
-	  The <paramref name="time_" /> should be the time stamp of the event that initiated the popup. If such a event is not available, use <see cref="P:Gtk.Global.CurrentEventTime" /> instead.
-	 </para>
-          <para>
-	  The operation of the <paramref name="mouse_button" /> and the <paramref name="time_" /> is the same as the <paramref name="button" /> and <paramref name="activation_time" /> for <see cref="M:Gtk.Menu.Popup" />.
-	 </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ItemFactory" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Construct">
-      <MemberSignature Language="C#" Value="public void Construct (GLib.GType container_type, string path, Gtk.AccelGroup accel_group);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="container_type" Type="GLib.GType" />
-        <Parameter Name="path" Type="System.String" />
-        <Parameter Name="accel_group" Type="Gtk.AccelGroup" />
-      </Parameters>
-      <Docs>
-        <summary>Initializes a <see cref="T:Gtk.ItemFactory" /></summary>
-        <param name="container_type">The kind of menu to create; can be <see cref="T:Gtk.MenuBar" />, <see cref="T:Gtk.Menu" />, or <see cref="T:Gtk.OptionMenu" /></param>
-        <param name="path">the factory path of the new item factory, a string of the form "<name>"</param>
-        <param name="accel_group">a <see cref="T:Gtk.AccelGroup" /> to which the accelerators for the menu items will be added, or null to create a new one</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected ItemFactory (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ItemFactory (GLib.GType container_type, string path, Gtk.AccelGroup accel_group);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="container_type" Type="GLib.GType" />
-        <Parameter Name="path" Type="System.String" />
-        <Parameter Name="accel_group" Type="Gtk.AccelGroup" />
-      </Parameters>
-      <Docs>
-        <summary>Basic constructor.</summary>
-        <param name="container_type">The kind of menu to create; can be <see cref="T:Gtk.MenuBar" />, <see cref="T:Gtk.Menu" />, or <see cref="T:Gtk.OptionMenu" /></param>
-        <param name="path">the factory path of the new item factory, a string of the form "<name>"</param>
-        <param name="accel_group">a <see cref="T:Gtk.AccelGroup" /> to which the accelerators for the menu items will be added, or null to create a new one</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected ItemFactory ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Protected constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="FromPath">
-      <MemberSignature Language="C#" Value="public static Gtk.ItemFactory FromPath (string path);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ItemFactory</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="path" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Finds an item factory which has been constructed using the 
-	  "<name>" prefix of <paramref name="path" /> as the path argument 
-	  building a new item factory.
-	</summary>
-        <param name="path">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:Gtk.ItemFactory" />, or <see langword="null" /></returns>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="CreateMenuEntries">
-      <MemberSignature Language="C#" Value="public static void CreateMenuEntries (uint n_entries, Gtk.MenuEntry entries);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="n_entries" Type="System.UInt32" />
-        <Parameter Name="entries" Type="Gtk.MenuEntry" />
-      </Parameters>
-      <Docs>
-        <summary>Creates menu items from a set of entries.</summary>
-        <param name="n_entries">a <see cref="T:System.UInt32" />, the number of entries</param>
-        <param name="entries">an array of <see cref="T:Gtk.MenuEntry" /> objects</param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="CreateItemsAc">
-      <MemberSignature Language="C#" Value="public void CreateItemsAc (uint n_entries, Gtk.ItemFactoryEntry entries, IntPtr callback_data, uint callback_type);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="n_entries" Type="System.UInt32" />
-        <Parameter Name="entries" Type="Gtk.ItemFactoryEntry" />
-        <Parameter Name="callback_data" Type="System.IntPtr" />
-        <Parameter Name="callback_type" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Creates menu items from entries.</summary>
-        <param name="n_entries">a <see cref="T:System.UInt32" />, the number of menu items</param>
-        <param name="entries">a <see cref="T:Gtk.ItemFactoryEntry" />, a list of information about menu items</param>
-        <param name="callback_data">a <see cref="T:System.IntPtr" />, pointer to data that should be passed to
-	  the callback functions of all entries</param>
-        <param name="callback_type">a <see cref="T:System.UInt32" /></param>
-        <remarks>FIXME: See bugzilla 70887.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ItemFactoryCallback.xml b/doc/en/Gtk/ItemFactoryCallback.xml
deleted file mode 100644
index f900a51..0000000
--- a/doc/en/Gtk/ItemFactoryCallback.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<Type Name="ItemFactoryCallback" FullName="Gtk.ItemFactoryCallback">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ItemFactoryCallback();" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Delegate function to be invoked by <see cref="T:Gtk.ItemFactory" />.</summary>
-    <remarks>TODO: offer an example.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/ItemFactoryCallback1.xml b/doc/en/Gtk/ItemFactoryCallback1.xml
deleted file mode 100644
index 2dcb495..0000000
--- a/doc/en/Gtk/ItemFactoryCallback1.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<Type Name="ItemFactoryCallback1" FullName="Gtk.ItemFactoryCallback1">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ItemFactoryCallback1(IntPtr callback_data, uint callback_action, Widget widget);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="callback_data">To be added.</param>
-    <param name="callback_action">To be added.</param>
-    <param name="widget">To be added.</param>
-    <summary>Delegate function to be invoked by <see cref="T:Gtk.ItemFactory" />.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="callback_data" Type="System.IntPtr" />
-    <Parameter Name="callback_action" Type="System.UInt32" />
-    <Parameter Name="widget" Type="Gtk.Widget" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/ItemFactoryEntry.xml b/doc/en/Gtk/ItemFactoryEntry.xml
deleted file mode 100644
index 64d2fb4..0000000
--- a/doc/en/Gtk/ItemFactoryEntry.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<Type Name="ItemFactoryEntry" FullName="Gtk.ItemFactoryEntry">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct ItemFactoryEntry" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Class intended for use with <see cref="T:Gtk.ItemFactory" />.</summary>
-    <remarks>FIXME: see bugzilla.ximian.com #70887, which directly concerns this API.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.ItemFactoryEntry Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ItemFactoryEntry</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Empty entry.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.ItemFactoryEntry New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ItemFactoryEntry</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>For internal use only. Do not use.</summary>
-        <param name="raw">a <see cref="T:IntPtr" />, pointer to the underlying C data.</param>
-        <returns>a <see cref="T:Gtk.ItemFactoryEntry" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Path">
-      <MemberSignature Language="C#" Value="public string Path;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The path of the item.</summary>
-        <remarks>For example, "/File/_Open", where the "O" should be a mnemonic underline.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Accelerator">
-      <MemberSignature Language="C#" Value="public string Accelerator;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The accelerator key for this item.</summary>
-        <remarks>For example, "<control>O".</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CallbackAction">
-      <MemberSignature Language="C#" Value="public uint CallbackAction;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>A callback function to run when this item is activated.</summary>
-        <remarks>NOTE: The API doesn't support the actual code here.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ItemType">
-      <MemberSignature Language="C#" Value="public string ItemType;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Type of item to add.</summary>
-        <remarks>Possible values:
-	  "<Title>" creates a title item,
-	  "<Item>" creates a simple item,
-	  "<ImageItem>" creates an item holding an image,
-	  "<StockItem>" creates an item holding a stock image,
-	  "<CheckItem>" creates a check item,
-	  "<ToggleItem>" creates a toggle item,
-	  "<RadioItem>" creates a radio item,
-	  <path> for the path of a radio item to link against,
-	  "<Separator>" creates a separator,
-	  "<Tearoff>" creates a tearoff separator,
-	  "<Branch>" creates an item to hold sub items,
-	  "<LastBranch>" creates a right justified item to hold sub items.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Callback">
-      <MemberSignature Language="C#" Value="public Gtk.ItemFactoryCallback Callback { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ItemFactoryCallback</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-</Type>
diff --git a/doc/en/Gtk/Label.xml b/doc/en/Gtk/Label.xml
index bf56118..769f0f9 100644
--- a/doc/en/Gtk/Label.xml
+++ b/doc/en/Gtk/Label.xml
@@ -558,8 +558,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Label.ActivateCurrentLink" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Label.ActivateCurrentLink" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -580,9 +580,9 @@
       </Parameters>
       <Docs>
         <param name="uri">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.Label.ActivateLink" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Label.ActivateLink" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Layout.xml b/doc/en/Gtk/Layout.xml
index 3ef32ae..3a4c32e 100644
--- a/doc/en/Gtk/Layout.xml
+++ b/doc/en/Gtk/Layout.xml
@@ -1,6 +1,6 @@
 <Type Name="Layout" FullName="Gtk.Layout">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class Layout : Gtk.Container, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Layout extends Gtk.Container implements class GLib.IWrapper, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class Layout : Gtk.Container, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Layout extends Gtk.Container implements class GLib.IWrapper, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/LinkButton.xml b/doc/en/Gtk/LinkButton.xml
index e51dfc2..59c4e2a 100644
--- a/doc/en/Gtk/LinkButton.xml
+++ b/doc/en/Gtk/LinkButton.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -81,9 +81,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.LinkButton" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnActivateLink">
@@ -100,9 +100,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.LinkButton.ActivateLink" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.LinkButton.ActivateLink" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/LinkButtonUriFunc.xml b/doc/en/Gtk/LinkButtonUriFunc.xml
deleted file mode 100644
index 54a036f..0000000
--- a/doc/en/Gtk/LinkButtonUriFunc.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<Type Name="LinkButtonUriFunc" FullName="Gtk.LinkButtonUriFunc">
-  <TypeSignature Language="C#" Value="public delegate void LinkButtonUriFunc(LinkButton button, string link_);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="button" Type="Gtk.LinkButton" />
-    <Parameter Name="link_" Type="System.String" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="button">To be added.</param>
-    <param name="link_">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/LinkClickedArgs.xml b/doc/en/Gtk/LinkClickedArgs.xml
deleted file mode 100644
index b2597ce..0000000
--- a/doc/en/Gtk/LinkClickedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="LinkClickedArgs" FullName="Gtk.LinkClickedArgs">
-  <TypeSignature Language="C#" Value="public class LinkClickedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.LinkClicked" /> event invokes <see cref="T:Gtk.LinkClickedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public LinkClickedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.LinkClickedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.LinkClickedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Url">
-      <MemberSignature Language="C#" Value="public string Url { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The URL the user clicked on.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/LinkClickedHandler.xml b/doc/en/Gtk/LinkClickedHandler.xml
deleted file mode 100644
index 91716f7..0000000
--- a/doc/en/Gtk/LinkClickedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="LinkClickedHandler" FullName="Gtk.LinkClickedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void LinkClickedHandler(object o, LinkClickedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.LinkClicked" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.LinkClickedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.LinkClickedHandler" /> to an event, add the LinkClickedHandler instance to the event.  The methods referenced by the LinkClickedHandler instance are invoked whenever the event is raised, until the LinkClickedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.LinkClickedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/ListStore.xml b/doc/en/Gtk/ListStore.xml
index 7ee8ce2..7ef8b70 100644
--- a/doc/en/Gtk/ListStore.xml
+++ b/doc/en/Gtk/ListStore.xml
@@ -1,6 +1,6 @@
 <Type Name="ListStore" FullName="Gtk.ListStore">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class ListStore : GLib.Object, Gtk.TreeDragDest, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable, System.Collections.IEnumerable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ListStore extends GLib.Object implements class GLib.IWrapper, class Gtk.TreeDragDest, class Gtk.TreeDragSource, class Gtk.TreeModel, class Gtk.TreeSortable, class System.Collections.IEnumerable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class ListStore : GLib.Object, Gtk.ITreeDragDest, Gtk.ITreeDragSource, Gtk.ITreeModel, Gtk.ITreeSortable, System.Collections.IEnumerable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ListStore extends GLib.Object implements class GLib.IWrapper, class Gtk.ITreeDragDest, class Gtk.ITreeDragSource, class Gtk.ITreeModel, class Gtk.ITreeSortable, class System.Collections.IEnumerable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,16 +12,16 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.TreeDragDest</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragDest</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeDragSource</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragSource</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeModel</InterfaceName>
+      <InterfaceName>Gtk.ITreeModel</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeSortable</InterfaceName>
+      <InterfaceName>Gtk.ITreeSortable</InterfaceName>
     </Interface>
     <Interface>
       <InterfaceName>System.Collections.IEnumerable</InterfaceName>
diff --git a/doc/en/Gtk/MatchSelectedArgs.xml b/doc/en/Gtk/MatchSelectedArgs.xml
index e1eb68e..39f03b5 100644
--- a/doc/en/Gtk/MatchSelectedArgs.xml
+++ b/doc/en/Gtk/MatchSelectedArgs.xml
@@ -45,11 +45,11 @@
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/MatchType.xml b/doc/en/Gtk/MatchType.xml
deleted file mode 100644
index e30dc3c..0000000
--- a/doc/en/Gtk/MatchType.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<Type Name="MatchType" FullName="Gtk.MatchType">
-  <TypeSignature Language="C#" Value="public enum MatchType" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Deprecated. Do not use.</summary>
-    <remarks>
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.MatchTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="All">
-      <MemberSignature Language="C#" Value="All" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MatchType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AllTail">
-      <MemberSignature Language="C#" Value="AllTail" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MatchType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Head">
-      <MemberSignature Language="C#" Value="Head" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MatchType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tail">
-      <MemberSignature Language="C#" Value="Tail" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MatchType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Exact">
-      <MemberSignature Language="C#" Value="Exact" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MatchType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Last">
-      <MemberSignature Language="C#" Value="Last" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MatchType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/Menu.xml b/doc/en/Gtk/Menu.xml
index acddfec..0d9ea8f 100644
--- a/doc/en/Gtk/Menu.xml
+++ b/doc/en/Gtk/Menu.xml
@@ -259,21 +259,21 @@ public class MenuApp
       </Docs>
     </Member>
     <Member MemberName="GetForAttachWidget">
-      <MemberSignature Language="C#" Value="public static GLib.List GetForAttachWidget (Gtk.Widget widget);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class GLib.List GetForAttachWidget(class Gtk.Widget widget) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.Widget[] GetForAttachWidget (Gtk.Widget widget);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Widget[] GetForAttachWidget(class Gtk.Widget widget) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>Gtk.Widget[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="widget" Type="Gtk.Widget" />
       </Parameters>
       <Docs>
-        <param name="widget">a <see cref="T:Gtk.Widget" /></param>
-        <summary>To be added</summary>
-        <returns>a <see cref="T:GLib.List" /></returns>
-        <remarks>To be added</remarks>
-        <since version="Gtk# 2.6" />
+        <param name="widget">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -363,8 +363,8 @@ public class MenuApp
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Menu.MoveScroll" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Menu.MoveScroll" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MenuActivateArgs.xml b/doc/en/Gtk/MenuActivateArgs.xml
index 1bdca0d..0b0a260 100644
--- a/doc/en/Gtk/MenuActivateArgs.xml
+++ b/doc/en/Gtk/MenuActivateArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.TreeMenu.MenuActivate" /> event invokes <see cref="T:Gtk.MenuActivateHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.MenuActivateArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.MenuActivateHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MenuActivateHandler.xml b/doc/en/Gtk/MenuActivateHandler.xml
index cb3409c..d829631 100644
--- a/doc/en/Gtk/MenuActivateHandler.xml
+++ b/doc/en/Gtk/MenuActivateHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.TreeMenu.MenuActivate" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.MenuActivateArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.MenuActivateHandler" /> to an event, add the MenuActivateHandler instance to the event.  The methods referenced by the MenuActivateHandler instance are invoked whenever the event is raised, until the MenuActivateHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/MenuCallback.xml b/doc/en/Gtk/MenuCallback.xml
deleted file mode 100644
index e19a814..0000000
--- a/doc/en/Gtk/MenuCallback.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<Type Name="MenuCallback" FullName="Gtk.MenuCallback">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void MenuCallback(Widget widget);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="widget">To be added.</param>
-    <summary>Do not use.</summary>
-    <remarks>Do not use.</remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Parameters>
-    <Parameter Name="widget" Type="Gtk.Widget" />
-  </Parameters>
-</Type>
diff --git a/doc/en/Gtk/MenuEntry.xml b/doc/en/Gtk/MenuEntry.xml
deleted file mode 100644
index c5b3226..0000000
--- a/doc/en/Gtk/MenuEntry.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<Type Name="MenuEntry" FullName="Gtk.MenuEntry">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct MenuEntry" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Class for use with <see cref="T:Gtk.ItemFactory" /> in generating menus.</summary>
-    <remarks>
-      See <see cref="T:Gtk.ItemFactory" /> for more details.
-      FIXME: see bugzilla.ximian.com #70887, which directly concerns this API.
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.MenuEntry Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MenuEntry</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>An empty menu entry.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Path">
-      <MemberSignature Language="C#" Value="public string Path;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The path of this menu item.</summary>
-        <remarks>For example, "/File/_Open", where the "O" should be a mnemonic underline.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Accelerator">
-      <MemberSignature Language="C#" Value="public string Accelerator;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>An accelerator key sequence</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.MenuEntry New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MenuEntry</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>For internal use only. Do not use.</summary>
-        <param name="raw">a <see cref="T:System.IntPtr" />, pointer to the underlying C object.</param>
-        <returns>a <see cref="T:Gtk.MenuEntry" /></returns>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Widget">
-      <MemberSignature Language="C#" Value="public Gtk.Widget Widget { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Callback">
-      <MemberSignature Language="C#" Value="public Gtk.MenuCallback Callback { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MenuCallback</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/MenuItem.xml b/doc/en/Gtk/MenuItem.xml
index 3b95a40..6ce2d4c 100644
--- a/doc/en/Gtk/MenuItem.xml
+++ b/doc/en/Gtk/MenuItem.xml
@@ -1,6 +1,6 @@
 <Type Name="MenuItem" FullName="Gtk.MenuItem">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class MenuItem : Gtk.Bin, Gtk.Activatable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MenuItem extends Gtk.Bin implements class GLib.IWrapper, class Gtk.Activatable" />
+  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class MenuItem : Gtk.Bin, Gtk.IActivatable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MenuItem extends Gtk.Bin implements class GLib.IWrapper, class Gtk.IActivatable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -278,8 +278,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.MenuItem.Deselected" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuItem.Deselected" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -317,8 +317,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.MenuItem.Selected" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuItem.Selected" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MenuShell.xml b/doc/en/Gtk/MenuShell.xml
index 2cf09f2..4476c03 100644
--- a/doc/en/Gtk/MenuShell.xml
+++ b/doc/en/Gtk/MenuShell.xml
@@ -340,8 +340,8 @@
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.MenuShell.CycleFocus" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.CycleFocus" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -445,9 +445,9 @@
       </Parameters>
       <Docs>
         <param name="distance">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.MenuShell.MoveSelected" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.MenuShell.MoveSelected" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MetricType.xml b/doc/en/Gtk/MetricType.xml
deleted file mode 100644
index 28dd1f7..0000000
--- a/doc/en/Gtk/MetricType.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<Type Name="MetricType" FullName="Gtk.MetricType">
-  <TypeSignature Language="C#" Maintainer="Jonathan Kessler (Jwkpiano1 at comcast.net)" Value="public enum MetricType" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>An enumeration used to determine which unit of measurement is currently being used.</summary>
-    <remarks>This enumeration is used by <see cref="T:Gtk.HRuler" />, <see cref="T:Gtk.VRuler" />, and <see cref="T:Gtk.Ruler" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.MetricTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Pixels">
-      <MemberSignature Language="C#" Value="Pixels" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MetricType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The pixel unit of measurement.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Inches">
-      <MemberSignature Language="C#" Value="Inches" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MetricType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The inch unit of measurement.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Centimeters">
-      <MemberSignature Language="C#" Value="Centimeters" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MetricType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The centimeter unit of measurement.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ModifierStyle.xml b/doc/en/Gtk/ModifierStyle.xml
index 21f4a22..4673d31 100644
--- a/doc/en/Gtk/ModifierStyle.xml
+++ b/doc/en/Gtk/ModifierStyle.xml
@@ -1,6 +1,6 @@
 <Type Name="ModifierStyle" FullName="Gtk.ModifierStyle">
-  <TypeSignature Language="C#" Value="public class ModifierStyle : GLib.Object, Gtk.StyleProvider" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ModifierStyle extends GLib.Object implements class GLib.IWrapper, class Gtk.StyleProvider" />
+  <TypeSignature Language="C#" Value="public class ModifierStyle : GLib.Object, Gtk.IStyleProvider" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ModifierStyle extends GLib.Object implements class GLib.IWrapper, class Gtk.IStyleProvider" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.StyleProvider</InterfaceName>
+      <InterfaceName>Gtk.IStyleProvider</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -135,8 +135,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.ModifierStyle.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ModifierStyle.Changed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MountOperation.xml b/doc/en/Gtk/MountOperation.xml
index f965e75..9636ec3 100644
--- a/doc/en/Gtk/MountOperation.xml
+++ b/doc/en/Gtk/MountOperation.xml
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -50,9 +50,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.MountOperation" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MoveActiveArgs.xml b/doc/en/Gtk/MoveActiveArgs.xml
index ec750ae..d92e8d6 100644
--- a/doc/en/Gtk/MoveActiveArgs.xml
+++ b/doc/en/Gtk/MoveActiveArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.ComboBox.MoveActive" /> event invokes <see cref="T:Gtk.MoveActiveHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.MoveActiveArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.MoveActiveHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MoveActiveHandler.xml b/doc/en/Gtk/MoveActiveHandler.xml
index 62895ec..8c93d98 100644
--- a/doc/en/Gtk/MoveActiveHandler.xml
+++ b/doc/en/Gtk/MoveActiveHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.ComboBox.MoveActive" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.MoveActiveArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.MoveActiveHandler" /> to an event, add the MoveActiveHandler instance to the event.  The methods referenced by the MoveActiveHandler instance are invoked whenever the event is raised, until the MoveActiveHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/MoveScrollArgs.xml b/doc/en/Gtk/MoveScrollArgs.xml
index 25c74f4..7e7e27e 100644
--- a/doc/en/Gtk/MoveScrollArgs.xml
+++ b/doc/en/Gtk/MoveScrollArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Menu.MoveScroll" /> event invokes <see cref="T:Gtk.MoveScrollHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.MoveScrollArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.MoveScrollHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MoveScrollHandler.xml b/doc/en/Gtk/MoveScrollHandler.xml
index 5f62390..f6cdc81 100644
--- a/doc/en/Gtk/MoveScrollHandler.xml
+++ b/doc/en/Gtk/MoveScrollHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Menu.MoveScroll" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.MoveScrollArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.MoveScrollHandler" /> to an event, add the MoveScrollHandler instance to the event.  The methods referenced by the MoveScrollHandler instance are invoked whenever the event is raised, until the MoveScrollHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/MoveSelectedArgs.xml b/doc/en/Gtk/MoveSelectedArgs.xml
index 85abc28..edccefd 100644
--- a/doc/en/Gtk/MoveSelectedArgs.xml
+++ b/doc/en/Gtk/MoveSelectedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.MenuShell.MoveSelected" /> event invokes <see cref="T:Gtk.MoveSelectedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.MoveSelectedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.MoveSelectedHandler" /> delegate.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Distance">
diff --git a/doc/en/Gtk/MoveSelectedHandler.xml b/doc/en/Gtk/MoveSelectedHandler.xml
index e0b7d08..9561221 100644
--- a/doc/en/Gtk/MoveSelectedHandler.xml
+++ b/doc/en/Gtk/MoveSelectedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.MenuShell.MoveSelected" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.MoveSelectedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.MoveSelectedHandler" /> to an event, add the MoveSelectedHandler instance to the event.  The methods referenced by the MoveSelectedHandler instance are invoked whenever the event is raised, until the MoveSelectedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/MoveViewportArgs.xml b/doc/en/Gtk/MoveViewportArgs.xml
index f2cc876..3494dd0 100644
--- a/doc/en/Gtk/MoveViewportArgs.xml
+++ b/doc/en/Gtk/MoveViewportArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.TextView.MoveViewport" /> event invokes <see cref="T:Gtk.MoveViewportHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.MoveViewportArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.MoveViewportHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/MoveViewportHandler.xml b/doc/en/Gtk/MoveViewportHandler.xml
index 194f711..4b3868c 100644
--- a/doc/en/Gtk/MoveViewportHandler.xml
+++ b/doc/en/Gtk/MoveViewportHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.TextView.MoveViewport" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.MoveViewportArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.MoveViewportHandler" /> to an event, add the MoveViewportHandler instance to the event.  The methods referenced by the MoveViewportHandler instance are invoked whenever the event is raised, until the MoveViewportHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/NoExposeEventArgs.xml b/doc/en/Gtk/NoExposeEventArgs.xml
deleted file mode 100644
index 5339e11..0000000
--- a/doc/en/Gtk/NoExposeEventArgs.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<Type Name="NoExposeEventArgs" FullName="Gtk.NoExposeEventArgs">
-  <TypeSignature Language="C#" Value="public class NoExposeEventArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.NoExposeEvent" /> event invokes <see cref="T:Gtk.NoExposeEventHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public NoExposeEventArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.NoExposeEventArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.NoExposeEventHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Event">
-      <MemberSignature Language="C#" Value="public Gdk.Event Event { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Event</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="T:Gdk.Event" /> which triggered the <see cref="T:Gtk.Widget.NoExposeEvent" />.</summary>
-        <value>a <see cref="T:Gdk.Event" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/NoExposeEventHandler.xml b/doc/en/Gtk/NoExposeEventHandler.xml
deleted file mode 100644
index 47bdbe5..0000000
--- a/doc/en/Gtk/NoExposeEventHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="NoExposeEventHandler" FullName="Gtk.NoExposeEventHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void NoExposeEventHandler(object o, NoExposeEventArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.NoExposeEvent" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.NoExposeEventArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.NoExposeEventHandler" /> to an event, add the NoExposeEventHandler instance to the event.  The methods referenced by the NoExposeEventHandler instance are invoked whenever the event is raised, until the NoExposeEventHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.NoExposeEventArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Notebook.xml b/doc/en/Gtk/Notebook.xml
index 7feb128..3c66cff 100644
--- a/doc/en/Gtk/Notebook.xml
+++ b/doc/en/Gtk/Notebook.xml
@@ -656,9 +656,9 @@ Don't forget to call the Show method on the widget or else the new page will not
         <param name="page">To be added.</param>
         <param name="x">To be added.</param>
         <param name="y">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.Notebook.CreateWindow" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Notebook.CreateWindow" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
@@ -871,8 +871,8 @@ Don't forget to call the Show method on the widget or else the new page will not
       <Docs>
         <param name="page">To be added.</param>
         <param name="page_num">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Notebook.SwitchPage" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Notebook.SwitchPage" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/NotebookWindowCreationFunc.xml b/doc/en/Gtk/NotebookWindowCreationFunc.xml
deleted file mode 100644
index 820a41b..0000000
--- a/doc/en/Gtk/NotebookWindowCreationFunc.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="NotebookWindowCreationFunc" FullName="Gtk.NotebookWindowCreationFunc">
-  <TypeSignature Language="C#" Value="public delegate Gtk.Notebook NotebookWindowCreationFunc(Notebook source, Widget page, int x, int y);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="source" Type="Gtk.Notebook" />
-    <Parameter Name="page" Type="Gtk.Widget" />
-    <Parameter Name="x" Type="System.Int32" />
-    <Parameter Name="y" Type="System.Int32" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>Gtk.Notebook</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="source">To be added.</param>
-    <param name="page">To be added.</param>
-    <param name="x">To be added.</param>
-    <param name="y">To be added.</param>
-    <summary>To be added.</summary>
-    <returns>To be added.</returns>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/NumerableIcon.xml b/doc/en/Gtk/NumerableIcon.xml
index c571095..3844f42 100644
--- a/doc/en/Gtk/NumerableIcon.xml
+++ b/doc/en/Gtk/NumerableIcon.xml
@@ -15,11 +15,11 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public NumerableIcon (GLib.Icon base_icon);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon base_icon) cil managed" />
+      <MemberSignature Language="C#" Value="public NumerableIcon (GLib.IIcon base_icon);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon base_icon) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="base_icon" Type="GLib.Icon" />
+        <Parameter Name="base_icon" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="base_icon">To be added.</param>
@@ -36,18 +36,18 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public NumerableIcon (GLib.Icon base_icon, Gtk.StyleContext context);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon base_icon, class Gtk.StyleContext context) cil managed" />
+      <MemberSignature Language="C#" Value="public NumerableIcon (GLib.IIcon base_icon, Gtk.StyleContext context);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon base_icon, class Gtk.StyleContext context) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="base_icon" Type="GLib.Icon" />
+        <Parameter Name="base_icon" Type="GLib.IIcon" />
         <Parameter Name="context" Type="Gtk.StyleContext" />
       </Parameters>
       <Docs>
@@ -59,11 +59,11 @@
       </Docs>
     </Member>
     <Member MemberName="BackgroundGicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon BackgroundGicon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon BackgroundGicon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon BackgroundGicon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon BackgroundGicon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -113,9 +113,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.NumerableIcon" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Object.xml b/doc/en/Gtk/Object.xml
deleted file mode 100644
index ca45198..0000000
--- a/doc/en/Gtk/Object.xml
+++ /dev/null
@@ -1,464 +0,0 @@
-<Type Name="Object" FullName="Gtk.Object">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Object : GLib.InitiallyUnowned" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary> Base class for the Gtk object hierarchy.</summary>
-    <remarks>Base object for the Gtk object hierarchy.
-      <para>
-	The difference between Gtk.Object and GLib.<see cref="T:GLib.Object" /> is a historical one, and it matters little in Gtk#.
-      </para></remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.InitiallyUnowned</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Destroy">
-      <MemberSignature Language="C#" Value="public virtual void Destroy ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Request all holders to the object to release the reference.</summary>
-        <remarks>This method is used to notify objects that might hold a reference to this object to release the reference.
-<para>
-This invokes the <see cref="M:Gtk.Object.OnDestroyed" /> method and triggers the <see cref="E:Gtk.OBject.Destroyed" /> event.
-</para><para>
-The object is only destroyed if all the references to the object are released, this is just a mechanism to request that references be released.
-</para></remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Sink">
-      <MemberSignature Language="C#" Value="public void Sink ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Removes the floating reference from a <see cref="T:Gtk.Object" />, if it exists; otherwise does
-        nothing. 
-	</summary>
-        <remarks>See the <see cref="T:Gtk.Object" /> overview
-        documentation at the top of the page.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Object (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="UserData">
-      <MemberSignature Language="C#" Value="public IntPtr UserData { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Helper property to associate information with an object.</summary>
-        <value />
-        <remarks>This is not very useful with the Gtk# binding as it is with the C binding. </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("user-data")</AttributeName>
-        </Attribute>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Destroyed">
-      <MemberSignature Language="C#" Value="public event EventHandler Destroyed;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Raised to signal that all references to this object should be removed.</summary>
-        <remarks>This event is triggered if someone has invoked the <see cref="T:Gtk.Object" />'s <see cref="M:Gtk.Object.Destroy" /> method.  It is used to inform that all references to the object must be discarded at this point.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("destroy")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Raw">
-      <MemberSignature Language="C#" Value="protected override IntPtr Raw { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>
-	  Diagnostic method to print the raw object and its reference count
-	as debug information.
-	</summary>
-        <value>a <see cref="T:System.IntPtr" />, the internal C data underlying this object.</value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnDestroyed">
-      <MemberSignature Language="C#" Value="protected virtual void OnDestroyed ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Invoked to request that references to the object be released.</summary>
-        <remarks>This method is invoked when someone has called the <see cref="T:Gtk.Object's" />'s <see cref="T:Gtk.Object.Destroy" /> method.  Any references to the object held should be released at this point.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Object (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Object" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Object ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Internal.</summary>
-        <remarks>Internal constructor.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="IsFloating">
-      <MemberSignature Language="C#" Value="public bool IsFloating { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Determines if the object reference is floating.</summary>
-        <value>a <see cref="T:System.Boolean" /></value>
-        <remarks>An object is floating until it is added to a container which claims ownership of the floating reference.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AddArgType">
-      <MemberSignature Language="C#" Value="public static void AddArgType (string arg_name, GLib.GType arg_type, uint arg_flags, uint arg_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="arg_name" Type="System.String" />
-        <Parameter Name="arg_type" Type="GLib.GType" />
-        <Parameter Name="arg_flags" Type="System.UInt32" />
-        <Parameter Name="arg_id" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use in new code.</summary>
-        <param name="arg_name">a <see cref="T:System.String" /></param>
-        <param name="arg_type">a <see cref="T:GLib.GType" /></param>
-        <param name="arg_flags">a <see cref="T:System.UInt32" /></param>
-        <param name="arg_id">a <see cref="T:System.UInt32" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Unref">
-      <MemberSignature Language="C#" Value="public void Unref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Ref">
-      <MemberSignature Language="C#" Value="public Gtk.Object Ref ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Object</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <returns>a <see cref="T:Gtk.Object" /></returns>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="SetDataByIdFull">
-      <MemberSignature Language="C#" Value="public void SetDataByIdFull (int data_id, IntPtr data, Gtk.DestroyNotify destroy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="data_id" Type="System.Int32" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="data_id">a <see cref="T:System.Int32" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <param name="destroy">a <see cref="T:Gtk.DestroyNotify" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetData">
-      <MemberSignature Language="C#" Value="public IntPtr GetData (string key);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <returns>a <see cref="T:System.IntPtr" /></returns>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Weakunref">
-      <MemberSignature Language="C#" Value="public void Weakunref (Gtk.DestroyNotify notify);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="notify" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="notify">a <see cref="T:Gtk.DestroyNotify" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveDataById">
-      <MemberSignature Language="C#" Value="public void RemoveDataById (int data_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="data_id" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="data_id">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="SetDataById">
-      <MemberSignature Language="C#" Value="public void SetDataById (int data_id, IntPtr data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="data_id" Type="System.Int32" />
-        <Parameter Name="data" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="data_id">a <see cref="T:System.Int32" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="Weakref">
-      <MemberSignature Language="C#" Value="public void Weakref (Gtk.DestroyNotify notify);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="notify" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="notify">a <see cref="T:Gtk.DestroyNotify" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveNoNotifyById">
-      <MemberSignature Language="C#" Value="public void RemoveNoNotifyById (int key_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key_id" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="key_id">a <see cref="T:System.Int32" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveData">
-      <MemberSignature Language="C#" Value="public void RemoveData (string key);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="SetDataFull">
-      <MemberSignature Language="C#" Value="public void SetDataFull (string key, IntPtr data, Gtk.DestroyNotify destroy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <param name="destroy">a <see cref="T:Gtk.DestroyNotify" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="SetData">
-      <MemberSignature Language="C#" Value="public void SetData (string key, IntPtr data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-        <Parameter Name="data" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetDataById">
-      <MemberSignature Language="C#" Value="public IntPtr GetDataById (int data_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.IntPtr</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="data_id" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="data_id">a <see cref="T:System.Int32" /></param>
-        <returns>a <see cref="T:System.IntPtr" /></returns>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveNoNotify">
-      <MemberSignature Language="C#" Value="public void RemoveNoNotify (string key);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="key" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Deprecated. Do not use.</summary>
-        <param name="key">a <see cref="T:System.String" /></param>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ObjectDeleteArgs.xml b/doc/en/Gtk/ObjectDeleteArgs.xml
deleted file mode 100644
index c31837e..0000000
--- a/doc/en/Gtk/ObjectDeleteArgs.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<Type Name="ObjectDeleteArgs" FullName="Gtk.ObjectDeleteArgs">
-  <TypeSignature Language="C#" Value="public class ObjectDeleteArgs : GLib.SignalArgs" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ObjectDeleteArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Len">
-      <MemberSignature Language="C#" Value="public int Len { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Pos">
-      <MemberSignature Language="C#" Value="public int Pos { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="GtkHtml# 3.14" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/ObjectDeleteHandler.xml b/doc/en/Gtk/ObjectDeleteHandler.xml
deleted file mode 100644
index 13d4f08..0000000
--- a/doc/en/Gtk/ObjectDeleteHandler.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<Type Name="ObjectDeleteHandler" FullName="Gtk.ObjectDeleteHandler">
-  <TypeSignature Language="C#" Value="public delegate void ObjectDeleteHandler(object o, ObjectDeleteArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ObjectDeleteArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="GtkHtml# 3.14" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/ObjectInsertedArgs.xml b/doc/en/Gtk/ObjectInsertedArgs.xml
deleted file mode 100644
index a5e5c5d..0000000
--- a/doc/en/Gtk/ObjectInsertedArgs.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<Type Name="ObjectInsertedArgs" FullName="Gtk.ObjectInsertedArgs">
-  <TypeSignature Language="C#" Value="public class ObjectInsertedArgs : GLib.SignalArgs" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ObjectInsertedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Len">
-      <MemberSignature Language="C#" Value="public int Len { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Pos">
-      <MemberSignature Language="C#" Value="public int Pos { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="GtkHtml# 3.14" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/ObjectInsertedHandler.xml b/doc/en/Gtk/ObjectInsertedHandler.xml
deleted file mode 100644
index e506ce2..0000000
--- a/doc/en/Gtk/ObjectInsertedHandler.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<Type Name="ObjectInsertedHandler" FullName="Gtk.ObjectInsertedHandler">
-  <TypeSignature Language="C#" Value="public delegate void ObjectInsertedHandler(object o, ObjectInsertedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ObjectInsertedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="GtkHtml# 3.14" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/ObjectRequestedArgs.xml b/doc/en/Gtk/ObjectRequestedArgs.xml
deleted file mode 100644
index c7b867f..0000000
--- a/doc/en/Gtk/ObjectRequestedArgs.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<Type Name="ObjectRequestedArgs" FullName="Gtk.ObjectRequestedArgs">
-  <TypeSignature Language="C#" Value="public class ObjectRequestedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement />
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.ObjectRequested" /> event invokes <see cref="T:Gtk.ObjectRequestedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ObjectRequestedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.ObjectRequestedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ObjectRequestedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Arg2">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLEmbedded Arg2 { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLEmbedded</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added</summary>
-        <value>a <see cref="T:Gtk.HTMLEmbedded" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ObjectRequestedHandler.xml b/doc/en/Gtk/ObjectRequestedHandler.xml
deleted file mode 100644
index eba787a..0000000
--- a/doc/en/Gtk/ObjectRequestedHandler.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<Type Name="ObjectRequestedHandler" FullName="Gtk.ObjectRequestedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ObjectRequestedHandler(object o, ObjectRequestedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement />
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.ObjectRequested" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.ObjectRequestedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.ObjectRequestedHandler" /> to an event, add the ObjectRequestedHandler instance to the event.  The methods referenced by the ObjectRequestedHandler instance are invoked whenever the event is raised, until the ObjectRequestedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ObjectRequestedArgs" />
-  </Parameters>
-</Type>
diff --git a/doc/en/Gtk/OffscreenWindow.xml b/doc/en/Gtk/OffscreenWindow.xml
index 19c7107..28cd5c0 100644
--- a/doc/en/Gtk/OffscreenWindow.xml
+++ b/doc/en/Gtk/OffscreenWindow.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -47,9 +47,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.OffscreenWindow" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/OnCommandArgs.xml b/doc/en/Gtk/OnCommandArgs.xml
deleted file mode 100644
index 695d374..0000000
--- a/doc/en/Gtk/OnCommandArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="OnCommandArgs" FullName="Gtk.OnCommandArgs">
-  <TypeSignature Language="C#" Value="public class OnCommandArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.OnCommand" /> event invokes <see cref="T:Gtk.OnCommandHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public OnCommandArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.OnCommandArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.OnCommandHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ComType">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLCommandType ComType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLCommandType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The kind of command that was issued to the HTML widget.</summary>
-        <value>A <see cref="T:Gtk.HTMLCommandType" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/OnCommandHandler.xml b/doc/en/Gtk/OnCommandHandler.xml
deleted file mode 100644
index a846649..0000000
--- a/doc/en/Gtk/OnCommandHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="OnCommandHandler" FullName="Gtk.OnCommandHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void OnCommandHandler(object o, OnCommandArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.OnCommand" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.OnCommandArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.OnCommandHandler" /> to an event, add the OnCommandHandler instance to the event.  The methods referenced by the OnCommandHandler instance are invoked whenever the event is raised, until the OnCommandHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.OnCommandArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/OnUrlArgs.xml b/doc/en/Gtk/OnUrlArgs.xml
deleted file mode 100644
index 618cc88..0000000
--- a/doc/en/Gtk/OnUrlArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="OnUrlArgs" FullName="Gtk.OnUrlArgs">
-  <TypeSignature Language="C#" Value="public class OnUrlArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.OnUrl" /> event invokes <see cref="T:Gtk.OnUrlHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public OnUrlArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.OnUrlArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.OnUrlHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Url">
-      <MemberSignature Language="C#" Value="public string Url { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The URL to act on.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/OnUrlHandler.xml b/doc/en/Gtk/OnUrlHandler.xml
deleted file mode 100644
index b1eb5b1..0000000
--- a/doc/en/Gtk/OnUrlHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="OnUrlHandler" FullName="Gtk.OnUrlHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void OnUrlHandler(object o, OnUrlArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.OnUrl" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.OnUrlArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.OnUrlHandler" /> to an event, add the OnUrlHandler instance to the event.  The methods referenced by the OnUrlHandler instance are invoked whenever the event is raised, until the OnUrlHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.OnUrlArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/OptionMenu.xml b/doc/en/Gtk/OptionMenu.xml
deleted file mode 100644
index 4d8d6fd..0000000
--- a/doc/en/Gtk/OptionMenu.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<Type Name="OptionMenu" FullName="Gtk.OptionMenu">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class OptionMenu : Gtk.Button" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A widget used to choose from a list of valid choices.</summary>
-    <remarks>
-      <para>
-		A <see cref="T:Gtk.OptionMenu" /> is a widget that allows the user to choose from a list of valid choices.
-		The <see cref="T:Gtk.OptionMenu" /> displays the selected choice.
-		When activated the <see cref="T:Gtk.OptionMenu" /> displays a popup <see cref="T:Gtk.Menu" /> which allows the user to make a new choice.    
-	  </para>
-      <para>
-	    Using a <see cref="T:Gtk.OptionMenu" /> is simple; build a <see cref="T:Gtk.Menu" />, by calling <see cref="C:Gtk.Menu()" />, then appending <see cref="T:Gtk.MenuItem" />s to it with <see cref="M:Gtk.MenuShell.Append()" />.
-		Set that menu on the <see cref="T:Gtk.OptionMenu" /> with <see cref="P:Gtk.OptionMenu.Menu" />.
-		Set the selected <see cref="T:Gtk.MenuItem" /> with <see cref="M:Gtk.OptionMenu.SetHistory(System.UInt32)" />; connect to the event <see cref="E:Gtk.OptionMenu.Changed" />; when the <see cref="E:Gtk.OptionMenu.Changed" /> event occurs, check the new selected <see cref="T:Gtk.MenuItem" /> with <see cref="P:Gtk.OptionMenu.History" />.
-	  </para>
-    </remarks>
-    <example>
-      <code language="C#">
-using System;
-using Gtk;
-
-class OptionMenuSample
-{
-	OptionMenu opt;
-	
-	static void Main ()
-	{
-		new OptionMenuSample ();
-	}
-	
-	OptionMenuSample ()
-	{
-		Application.Init ();
-		
-		Window win = new Window ("OptionMenuSample");
-		win.DeleteEvent += new DeleteEventHandler (OnWinDelete);
-		
-		// set up the OptionMenu
-		opt = new OptionMenu ();
-		opt.Changed += new EventHandler (OnOptionChanged);
-		Menu m = new Menu ();
-		MenuItem miOne = new MenuItem ("One");
-		m.Append (miOne);
-		MenuItem miTwo = new MenuItem ("Two");
-		m.Append (miTwo);
-		MenuItem miThree = new MenuItem ("Three");
-		m.Append (miThree);
-		
-		// add children widgets to their parents
-		opt.Menu = m;
-		win.Add (opt);
-		
-		
-		// set the OptionMenu to a value
-		opt.SetHistory (2);
-		
-		win.ShowAll ();
-		
-		Application.Run ();
-	}
-	
-	void OnOptionChanged (object o, EventArgs args)
-	{
-		Console.WriteLine (opt.History);
-	}
-	
-	void OnWinDelete (object o, DeleteEventArgs args)
-	{
-		Application.Quit ();
-	}
-}
-	  </code>
-    </example>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Button</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="RemoveMenu">
-      <MemberSignature Language="C#" Value="public void RemoveMenu ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Removes the menu from the <see cref="T:Gtk.OptionMenu" />.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public OptionMenu (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public OptionMenu ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates a new <see cref="T:Gtk.OptionMenu" /></summary>
-        <remarks>This is the default constructor for <see cref="T:Gtk.OptionMenu" /></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="History">
-      <MemberSignature Language="C#" Value="public int History { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Retrieves the index of the currently selected <see cref="T:Gtk.MenuItem" />.</summary>
-        <value>an object of type <see cref="T:System.Int32" /></value>
-        <remarks>The <see cref="T:Gtk.MenuItem" />s are numbered from top to bottom, starting with 0.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Menu">
-      <MemberSignature Language="C#" Value="public Gtk.Widget Menu { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The menu of options.</summary>
-        <value>an object of type <see cref="T:Gtk.Widget" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("menu")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Changed">
-      <MemberSignature Language="C#" Value="public event EventHandler Changed;" />
-      <MemberType>Event</MemberType>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Emitted when the <see cref="T:Gtk.OptionMenu" /> selection is changed.</summary>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="SetHistory">
-      <MemberSignature Language="C#" Value="public void SetHistory (uint index_);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="index_" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Selects the menu item specified by <paramref name="index_" /> making it the newly selected value for the <see cref="T:Gtk.OptionMenu" />.</summary>
-        <param name="index_">a <see cref="T:System.UInt32" /></param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.OptionMenu" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.OptionMenu.Changed" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.OptionMenu.Changed" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected OptionMenu (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/OrientableAdapter.xml b/doc/en/Gtk/OrientableAdapter.xml
index 2b05889..f8c443b 100644
--- a/doc/en/Gtk/OrientableAdapter.xml
+++ b/doc/en/Gtk/OrientableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="OrientableAdapter" FullName="Gtk.OrientableAdapter">
-  <TypeSignature Language="C#" Value="public class OrientableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi OrientableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Value="public class OrientableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi OrientableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public OrientableAdapter (Gtk.OrientableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.OrientableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public OrientableAdapter (Gtk.IOrientableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IOrientableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.OrientableImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IOrientableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Orientable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Orientable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IOrientable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IOrientable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Orientable</ReturnType>
+        <ReturnType>Gtk.IOrientable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -79,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Orientable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Orientable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IOrientable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IOrientable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Orientable</ReturnType>
+        <ReturnType>Gtk.IOrientable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -98,9 +98,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -127,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.OrientableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.OrientableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IOrientableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IOrientableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.OrientableImplementor</ReturnType>
+        <ReturnType>Gtk.IOrientableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/PageHorizontallyArgs.xml b/doc/en/Gtk/PageHorizontallyArgs.xml
deleted file mode 100644
index 7b9e20f..0000000
--- a/doc/en/Gtk/PageHorizontallyArgs.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<Type Name="PageHorizontallyArgs" FullName="Gtk.PageHorizontallyArgs">
-  <TypeSignature Language="C#" Value="public class PageHorizontallyArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.TextView.PageHorizontally" /> event invokes <see cref="T:Gtk.PageHorizontallyHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PageHorizontallyArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.PageHorizontallyArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PageHorizontallyHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ExtendSelection">
-      <MemberSignature Language="C#" Value="public bool ExtendSelection { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Whether a selection is currently in progress that should be extended by the horizontal-page action.</summary>
-        <value>A <see cref="T:System.Boolean" />, true if a selection is in progress.</value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Count">
-      <MemberSignature Language="C#" Value="public int Count { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>How many pages to move horizontally.</summary>
-        <value>A <see cref="T:System.Int32" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/PageHorizontallyHandler.xml b/doc/en/Gtk/PageHorizontallyHandler.xml
deleted file mode 100644
index 1b0e623..0000000
--- a/doc/en/Gtk/PageHorizontallyHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="PageHorizontallyHandler" FullName="Gtk.PageHorizontallyHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void PageHorizontallyHandler(object o, PageHorizontallyArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.TextView.PageHorizontally" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.PageHorizontallyArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.PageHorizontallyHandler" /> to an event, add the PageHorizontallyHandler instance to the event.  The methods referenced by the PageHorizontallyHandler instance are invoked whenever the event is raised, until the PageHorizontallyHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.PageHorizontallyArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/PageSetup.xml b/doc/en/Gtk/PageSetup.xml
index 01263e7..f32af94 100644
--- a/doc/en/Gtk/PageSetup.xml
+++ b/doc/en/Gtk/PageSetup.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -224,9 +224,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.PageSetup" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="LoadFile">
diff --git a/doc/en/Gtk/PageSetupUnixDialog.xml b/doc/en/Gtk/PageSetupUnixDialog.xml
index 39fbc7d..554fdb1 100644
--- a/doc/en/Gtk/PageSetupUnixDialog.xml
+++ b/doc/en/Gtk/PageSetupUnixDialog.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -50,9 +50,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.PageSetupUnixDialog" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="PageSetup">
diff --git a/doc/en/Gtk/Paned.xml b/doc/en/Gtk/Paned.xml
index 0e854a2..1e2dc09 100644
--- a/doc/en/Gtk/Paned.xml
+++ b/doc/en/Gtk/Paned.xml
@@ -1,6 +1,6 @@
 <Type Name="Paned" FullName="Gtk.Paned">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Paned : Gtk.Container, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Paned extends Gtk.Container implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Paned : Gtk.Container, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Paned extends Gtk.Container implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/PasteDoneArgs.xml b/doc/en/Gtk/PasteDoneArgs.xml
index 89eef5b..b3cce6b 100644
--- a/doc/en/Gtk/PasteDoneArgs.xml
+++ b/doc/en/Gtk/PasteDoneArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.TextBuffer.PasteDone" /> event invokes <see cref="T:Gtk.PasteDoneHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.PasteDoneArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PasteDoneHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/PasteDoneHandler.xml b/doc/en/Gtk/PasteDoneHandler.xml
index 79a31f7..5af31e8 100644
--- a/doc/en/Gtk/PasteDoneHandler.xml
+++ b/doc/en/Gtk/PasteDoneHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.TextBuffer.PasteDone" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.PasteDoneArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.PasteDoneHandler" /> to an event, add the PasteDoneHandler instance to the event.  The methods referenced by the PasteDoneHandler instance are invoked whenever the event is raised, until the PasteDoneHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/PoppedDownArgs.xml b/doc/en/Gtk/PoppedDownArgs.xml
index e20bf65..041c02d 100644
--- a/doc/en/Gtk/PoppedDownArgs.xml
+++ b/doc/en/Gtk/PoppedDownArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.ComboBox.PoppedDown" /> event invokes <see cref="T:Gtk.PoppedDownHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.PoppedDownArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PoppedDownHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/PoppedDownHandler.xml b/doc/en/Gtk/PoppedDownHandler.xml
index 3d85724..6c6e8d7 100644
--- a/doc/en/Gtk/PoppedDownHandler.xml
+++ b/doc/en/Gtk/PoppedDownHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.ComboBox.PoppedDown" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.PoppedDownArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.PoppedDownHandler" /> to an event, add the PoppedDownHandler instance to the event.  The methods referenced by the PoppedDownHandler instance are invoked whenever the event is raised, until the PoppedDownHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/PreeditChangedArgs.xml b/doc/en/Gtk/PreeditChangedArgs.xml
index 4b36df1..babfa0c 100644
--- a/doc/en/Gtk/PreeditChangedArgs.xml
+++ b/doc/en/Gtk/PreeditChangedArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:Gtk.PreeditChangedHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:Gtk.Entry.PreeditChanged" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.TextView.PreeditChanged" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.PreeditChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PreeditChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/PreeditChangedHandler.xml b/doc/en/Gtk/PreeditChangedHandler.xml
index d119784..f4a1155 100644
--- a/doc/en/Gtk/PreeditChangedHandler.xml
+++ b/doc/en/Gtk/PreeditChangedHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:Gtk.Entry.PreeditChanged" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.TextView.PreeditChanged" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:Gtk.PreeditChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.PreeditChangedHandler" /> to an event, add the PreeditChangedHandler instance to the event.  The methods referenced by the PreeditChangedHandler instance are invoked whenever the event is raised, until the PreeditChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/PreviewArgs.xml b/doc/en/Gtk/PreviewArgs.xml
index 6f0e5e6..80e5cf9 100644
--- a/doc/en/Gtk/PreviewArgs.xml
+++ b/doc/en/Gtk/PreviewArgs.xml
@@ -53,11 +53,11 @@
       </Docs>
     </Member>
     <Member MemberName="Preview">
-      <MemberSignature Language="C#" Value="public Gtk.PrintOperationPreview Preview { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.PrintOperationPreview Preview" />
+      <MemberSignature Language="C#" Value="public Gtk.IPrintOperationPreview Preview { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IPrintOperationPreview Preview" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.PrintOperationPreview</ReturnType>
+        <ReturnType>Gtk.IPrintOperationPreview</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>The Print Preview operation.</summary>
diff --git a/doc/en/Gtk/PreviewType.xml b/doc/en/Gtk/PreviewType.xml
deleted file mode 100644
index e56701c..0000000
--- a/doc/en/Gtk/PreviewType.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="PreviewType" FullName="Gtk.PreviewType">
-  <TypeSignature Language="C#" Value="public enum PreviewType" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Internal Enum for printing. Do not use.</summary>
-    <remarks>
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.PreviewTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Color">
-      <MemberSignature Language="C#" Value="Color" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PreviewType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Internal. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Grayscale">
-      <MemberSignature Language="C#" Value="Grayscale" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PreviewType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Internal. Do not use.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/PrintBackendError.xml b/doc/en/Gtk/PrintBackendError.xml
deleted file mode 100644
index 96c617d..0000000
--- a/doc/en/Gtk/PrintBackendError.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<Type Name="PrintBackendError" FullName="Gtk.PrintBackendError">
-  <TypeSignature Language="C#" Value="public enum PrintBackendError" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Generic">
-      <MemberSignature Language="C#" Value="Generic" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrintBackendError</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Generic error.</summary>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>Print backend error enumeration.</summary>
-    <remarks>Not typically useful to user code.  Exposed for managed backend implementations.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrintContext.xml b/doc/en/Gtk/PrintContext.xml
index f70a7bf..3062616 100644
--- a/doc/en/Gtk/PrintContext.xml
+++ b/doc/en/Gtk/PrintContext.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="CairoContext">
@@ -136,9 +136,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.PrintContext" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Height">
diff --git a/doc/en/Gtk/PrintFunc.xml b/doc/en/Gtk/PrintFunc.xml
deleted file mode 100644
index ff29d30..0000000
--- a/doc/en/Gtk/PrintFunc.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<Type Name="PrintFunc" FullName="Gtk.PrintFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void PrintFunc(IntPtr func_data, string str);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="func_data">To be added.</param>
-    <param name="str">To be added.</param>
-    <summary>Delegate for printing.</summary>
-    <remarks>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="func_data" Type="System.IntPtr" />
-    <Parameter Name="str" Type="System.String" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/PrintOperation.xml b/doc/en/Gtk/PrintOperation.xml
index 092c0b0..672594a 100644
--- a/doc/en/Gtk/PrintOperation.xml
+++ b/doc/en/Gtk/PrintOperation.xml
@@ -1,6 +1,6 @@
 <Type Name="PrintOperation" FullName="Gtk.PrintOperation">
-  <TypeSignature Language="C#" Value="public class PrintOperation : GLib.Object, Gtk.PrintOperationPreview" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit PrintOperation extends GLib.Object implements class GLib.IWrapper, class Gtk.PrintOperationPreview" />
+  <TypeSignature Language="C#" Value="public class PrintOperation : GLib.Object, Gtk.IPrintOperationPreview" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit PrintOperation extends GLib.Object implements class GLib.IWrapper, class Gtk.IPrintOperationPreview" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.PrintOperationPreview</InterfaceName>
+      <InterfaceName>Gtk.IPrintOperationPreview</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AllowAsync">
@@ -330,9 +330,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.PrintOperation" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="HasSelection">
@@ -456,8 +456,8 @@
       </Parameters>
       <Docs>
         <param name="context">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.BeginPrint" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.BeginPrint" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnCreateCustomWidget">
@@ -474,9 +474,9 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.CreateCustomWidget" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.CreateCustomWidget" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnCustomWidgetApply">
@@ -496,8 +496,8 @@
       </Parameters>
       <Docs>
         <param name="widget">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.CustomWidgetApply" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.CustomWidgetApply" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnDone">
@@ -517,8 +517,8 @@
       </Parameters>
       <Docs>
         <param name="result">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.Done" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.Done" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnDrawPage">
@@ -540,8 +540,8 @@
       <Docs>
         <param name="context">To be added.</param>
         <param name="page_nr">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.DrawPage" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.DrawPage" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnEndPrint">
@@ -561,8 +561,8 @@
       </Parameters>
       <Docs>
         <param name="context">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.EndPrint" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.EndPrint" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnGotPageSize">
@@ -584,8 +584,8 @@
       <Docs>
         <param name="context">To be added.</param>
         <param name="page_setup">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.GotPageSize" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.GotPageSize" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnPaginate">
@@ -605,14 +605,14 @@
       </Parameters>
       <Docs>
         <param name="context">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.Paginate" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.Paginate" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnPreview">
-      <MemberSignature Language="C#" Value="protected virtual bool OnPreview (Gtk.PrintOperationPreview preview, Gtk.PrintContext context, Gtk.Window parent);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnPreview(class Gtk.PrintOperationPreview preview, class Gtk.PrintContext context, class Gtk.Window parent) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnPreview (Gtk.IPrintOperationPreview preview, Gtk.PrintContext context, Gtk.Window parent);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnPreview(class Gtk.IPrintOperationPreview preview, class Gtk.PrintContext context, class Gtk.Window parent) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -623,7 +623,7 @@
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="preview" Type="Gtk.PrintOperationPreview" />
+        <Parameter Name="preview" Type="Gtk.IPrintOperationPreview" />
         <Parameter Name="context" Type="Gtk.PrintContext" />
         <Parameter Name="parent" Type="Gtk.Window" />
       </Parameters>
@@ -631,9 +631,10 @@
         <param name="preview">To be added.</param>
         <param name="context">To be added.</param>
         <param name="parent">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.Preview" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.Preview" /> event.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="OnReady">
@@ -653,8 +654,8 @@
       </Parameters>
       <Docs>
         <param name="context">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.Ready" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.Ready" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnRequestPageSetup">
@@ -678,8 +679,8 @@
         <param name="context">To be added.</param>
         <param name="page_nr">To be added.</param>
         <param name="setup">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.RequestPageSetup" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.RequestPageSetup" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnStatusChanged">
@@ -696,8 +697,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.StatusChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.StatusChanged" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="OnUpdateCustomWidget">
@@ -721,8 +722,8 @@
         <param name="widget">To be added.</param>
         <param name="setup">To be added.</param>
         <param name="settings">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.PrintOperation.UpdateCustomWidget" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrintOperation.UpdateCustomWidget" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/PrintOperationPreviewAdapter.xml b/doc/en/Gtk/PrintOperationPreviewAdapter.xml
index c8d2e19..0dc4b62 100644
--- a/doc/en/Gtk/PrintOperationPreviewAdapter.xml
+++ b/doc/en/Gtk/PrintOperationPreviewAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="PrintOperationPreviewAdapter" FullName="Gtk.PrintOperationPreviewAdapter">
-  <TypeSignature Language="C#" Value="public class PrintOperationPreviewAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.PrintOperationPreview" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi PrintOperationPreviewAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.PrintOperationPreview" />
+  <TypeSignature Language="C#" Value="public class PrintOperationPreviewAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IPrintOperationPreview" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi PrintOperationPreviewAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IPrintOperationPreview" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.PrintOperationPreview</InterfaceName>
+      <InterfaceName>Gtk.IPrintOperationPreview</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrintOperationPreviewAdapter (Gtk.PrintOperationPreviewImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.PrintOperationPreviewImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public PrintOperationPreviewAdapter (Gtk.IPrintOperationPreviewImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IPrintOperationPreviewImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.PrintOperationPreviewImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IPrintOperationPreviewImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -72,11 +73,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.PrintOperationPreview GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.PrintOperationPreview GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IPrintOperationPreview GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IPrintOperationPreview GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.PrintOperationPreview</ReturnType>
+        <ReturnType>Gtk.IPrintOperationPreview</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -90,11 +91,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.PrintOperationPreview GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.PrintOperationPreview GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IPrintOperationPreview GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IPrintOperationPreview GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.PrintOperationPreview</ReturnType>
+        <ReturnType>Gtk.IPrintOperationPreview</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -106,6 +107,21 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GotPageSize">
@@ -126,8 +142,8 @@
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -154,11 +170,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.PrintOperationPreviewImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.PrintOperationPreviewImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IPrintOperationPreviewImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IPrintOperationPreviewImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.PrintOperationPreviewImplementor</ReturnType>
+        <ReturnType>Gtk.IPrintOperationPreviewImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/PrintSettings.xml b/doc/en/Gtk/PrintSettings.xml
index 24154ba..16d3378 100644
--- a/doc/en/Gtk/PrintSettings.xml
+++ b/doc/en/Gtk/PrintSettings.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -345,9 +345,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.PrintSettings" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="HasKey">
diff --git a/doc/en/Gtk/Printer.xml b/doc/en/Gtk/Printer.xml
index d2eb79d..8b7dd0b 100644
--- a/doc/en/Gtk/Printer.xml
+++ b/doc/en/Gtk/Printer.xml
@@ -22,9 +22,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -241,9 +241,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Printer" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="HasDetails">
@@ -434,8 +434,8 @@
       </Parameters>
       <Docs>
         <param name="success">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Printer.DetailsAcquired" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Printer.DetailsAcquired" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Paused">
diff --git a/doc/en/Gtk/PrinterAddedArgs.xml b/doc/en/Gtk/PrinterAddedArgs.xml
deleted file mode 100644
index 67f7637..0000000
--- a/doc/en/Gtk/PrinterAddedArgs.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<Type Name="PrinterAddedArgs" FullName="Gtk.PrinterAddedArgs">
-  <TypeSignature Language="C#" Value="public class PrinterAddedArgs : GLib.SignalArgs" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterAddedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.PrinterAddedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PrinterAddedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Printer">
-      <MemberSignature Language="C#" Value="public Gtk.Printer Printer { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Printer</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The sdded printer.</summary>
-        <value>a <see cref="Gtk.Printer" />.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.PrintBackend.PrinterAdded" /> event invokes <see cref="T:Gtk.PrinterAddedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterAddedHandler.xml b/doc/en/Gtk/PrinterAddedHandler.xml
deleted file mode 100644
index 3ddc66d..0000000
--- a/doc/en/Gtk/PrinterAddedHandler.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<Type Name="PrinterAddedHandler" FullName="Gtk.PrinterAddedHandler">
-  <TypeSignature Language="C#" Value="public delegate void PrinterAddedHandler(object o, PrinterAddedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.PrinterAddedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.PrintBackend.PrinterAdded" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.PrinterAddedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.PrinterAddedHandler" /> to an event, add the PrinterAddedHandler instance to the event.  The methods referenced by the PrinterAddedHandler instance are invoked whenever the event is raised, until the PrinterAddedHandler is removed from the event.</para>
-    </remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterOption.xml b/doc/en/Gtk/PrinterOption.xml
deleted file mode 100644
index 1c61376..0000000
--- a/doc/en/Gtk/PrinterOption.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<Type Name="PrinterOption" FullName="Gtk.PrinterOption">
-  <TypeSignature Language="C#" Value="public class PrinterOption : GLib.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected PrinterOption (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <param name="gtype">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterOption (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterOption (string name, string display_text, Gtk.PrinterOptionType type);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="name" Type="System.String" />
-        <Parameter Name="display_text" Type="System.String" />
-        <Parameter Name="type" Type="Gtk.PrinterOptionType" />
-      </Parameters>
-      <Docs>
-        <param name="name">To be added.</param>
-        <param name="display_text">To be added.</param>
-        <param name="type">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AllocateChoices">
-      <MemberSignature Language="C#" Value="public void AllocateChoices (int num);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="num" Type="System.Int32" />
-      </Parameters>
-      <Docs>
-        <param name="num">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Changed">
-      <MemberSignature Language="C#" Value="public event EventHandler Changed;" />
-      <MemberType>Event</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ChoicesFromArray">
-      <MemberSignature Language="C#" Value="public void ChoicesFromArray (int num_choices, string[] choices, string[] choices_display);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="num_choices" Type="System.Int32" />
-        <Parameter Name="choices" Type="System.String[]" />
-        <Parameter Name="choices_display" Type="System.String[]" />
-      </Parameters>
-      <Docs>
-        <param name="num_choices">To be added.</param>
-        <param name="choices">To be added.</param>
-        <param name="choices_display">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClearHasConflict">
-      <MemberSignature Language="C#" Value="public void ClearHasConflict ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HasChoice">
-      <MemberSignature Language="C#" Value="public bool HasChoice (string choice);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="choice" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="choice">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Set">
-      <MemberSignature Language="C#" Value="public void Set (string value);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="value" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="value">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterOptionSet.xml b/doc/en/Gtk/PrinterOptionSet.xml
deleted file mode 100644
index beff262..0000000
--- a/doc/en/Gtk/PrinterOptionSet.xml
+++ /dev/null
@@ -1,232 +0,0 @@
-<Type Name="PrinterOptionSet" FullName="Gtk.PrinterOptionSet">
-  <TypeSignature Language="C#" Value="public class PrinterOptionSet : GLib.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterOptionSet ();" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected PrinterOptionSet (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <param name="gtype">Native type value.</param>
-        <summary>Obsolete Protected Constructor.</summary>
-        <remarks>Do not use.  Replaced by <see cref="M:GLib.Object.CreateNativeObject" /> which registers native types automatically.  Subclasses should chain to the IntPtr constructor passing <see cref="M:System.IntPtr.Zero" /> and call CreateNativeObject instead of using this constructor.  This constructor is provided for backward compatibility if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterOptionSet (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="raw">Native object pointer.</param>
-        <summary>Internal constructor</summary>
-        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Add">
-      <MemberSignature Language="C#" Value="public void Add (Gtk.PrinterOption option);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="option" Type="Gtk.PrinterOption" />
-      </Parameters>
-      <Docs>
-        <param name="option">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Boolean">
-      <MemberSignature Language="C#" Value="public static void Boolean (Gtk.PrinterOption option, bool value);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="option" Type="Gtk.PrinterOption" />
-        <Parameter Name="value" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <param name="option">To be added.</param>
-        <param name="value">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Changed">
-      <MemberSignature Language="C#" Value="public event EventHandler Changed;" />
-      <MemberType>Event</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ClearConflicts">
-      <MemberSignature Language="C#" Value="public void ClearConflicts ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Foreach">
-      <MemberSignature Language="C#" Value="public void Foreach (Gtk.PrinterOptionSetFunc func);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="func" Type="Gtk.PrinterOptionSetFunc" />
-      </Parameters>
-      <Docs>
-        <param name="func">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ForeachInGroup">
-      <MemberSignature Language="C#" Value="public void ForeachInGroup (string group, Gtk.PrinterOptionSetFunc func);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="group" Type="System.String" />
-        <Parameter Name="func" Type="Gtk.PrinterOptionSetFunc" />
-      </Parameters>
-      <Docs>
-        <param name="group">To be added.</param>
-        <param name="func">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Groups">
-      <MemberSignature Language="C#" Value="public GLib.List Groups { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>The native <see cref="T:GLib.GType" /> value.</value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.PrinterOptionSet" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HasConflict">
-      <MemberSignature Language="C#" Value="public static void HasConflict (Gtk.PrinterOption option, bool has_conflict);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="option" Type="Gtk.PrinterOption" />
-        <Parameter Name="has_conflict" Type="System.Boolean" />
-      </Parameters>
-      <Docs>
-        <param name="option">To be added.</param>
-        <param name="has_conflict">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Lookup">
-      <MemberSignature Language="C#" Value="public Gtk.PrinterOption Lookup (string name);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOption</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="name" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="name">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Default handler for the <see cref="M:Gtk.PrinterOptionSet.Changed" /> event.</summary>
-        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.PrinterOptionSet.Changed" /> event.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Remove">
-      <MemberSignature Language="C#" Value="public void Remove (Gtk.PrinterOption option);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="option" Type="Gtk.PrinterOption" />
-      </Parameters>
-      <Docs>
-        <param name="option">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>Printer option set class.</summary>
-    <remarks>Not typically useful to user code.  Exposed for use by managed PrintBackend implementations.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterOptionSetFunc.xml b/doc/en/Gtk/PrinterOptionSetFunc.xml
deleted file mode 100644
index 8cdb25a..0000000
--- a/doc/en/Gtk/PrinterOptionSetFunc.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<Type Name="PrinterOptionSetFunc" FullName="Gtk.PrinterOptionSetFunc">
-  <TypeSignature Language="C#" Value="public delegate void PrinterOptionSetFunc(PrinterOption option);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="option" Type="Gtk.PrinterOption" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="option">Printer option.</param>
-    <summary>Printer option setting callback delegate.</summary>
-    <remarks>Used only be backend code. Exposed for use by managed backend implementations.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterOptionType.xml b/doc/en/Gtk/PrinterOptionType.xml
deleted file mode 100644
index d929232..0000000
--- a/doc/en/Gtk/PrinterOptionType.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<Type Name="PrinterOptionType" FullName="Gtk.PrinterOptionType">
-  <TypeSignature Language="C#" Value="public enum PrinterOptionType" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Members>
-    <Member MemberName="Alternative">
-      <MemberSignature Language="C#" Value="Alternative" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Alternative option.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="Boolean">
-      <MemberSignature Language="C#" Value="Boolean" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>A true/false option.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="Filesave">
-      <MemberSignature Language="C#" Value="Filesave" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>File save option.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="Pickone">
-      <MemberSignature Language="C#" Value="Pickone" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>A list option.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="String">
-      <MemberSignature Language="C#" Value="String" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>String option.</summary>
-      </Docs>
-    </Member>
-    <Member MemberName="PickoneInt">
-      <MemberSignature Language="C#" Value="PickoneInt" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-    <Member MemberName="PickonePasscode">
-      <MemberSignature Language="C#" Value="PickonePasscode" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-    <Member MemberName="PickonePassword">
-      <MemberSignature Language="C#" Value="PickonePassword" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-    <Member MemberName="PickoneReal">
-      <MemberSignature Language="C#" Value="PickoneReal" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-    <Member MemberName="PickoneString">
-      <MemberSignature Language="C#" Value="PickoneString" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOptionType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <since version="Gtk# 2.12" />
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>PrinterOptionType enumeration.</summary>
-    <remarks />
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterOptionWidget.xml b/doc/en/Gtk/PrinterOptionWidget.xml
deleted file mode 100644
index 4cb2f89..0000000
--- a/doc/en/Gtk/PrinterOptionWidget.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<Type Name="PrinterOptionWidget" FullName="Gtk.PrinterOptionWidget">
-  <TypeSignature Language="C#" Value="public class PrinterOptionWidget : Gtk.HBox" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>Gtk.HBox</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected PrinterOptionWidget (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <param name="gtype">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterOptionWidget (Gtk.PrinterOption source);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="source" Type="Gtk.PrinterOption" />
-      </Parameters>
-      <Docs>
-        <param name="source">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterOptionWidget (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Changed">
-      <MemberSignature Language="C#" Value="public event EventHandler Changed;" />
-      <MemberType>Event</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Signal("changed")</AttributeName>
-        </Attribute>
-      </Attributes>
-      <ReturnValue>
-        <ReturnType>System.EventHandler</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ExternalLabel">
-      <MemberSignature Language="C#" Value="public Gtk.Widget ExternalLabel { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HasExternalLabel">
-      <MemberSignature Language="C#" Value="public bool HasExternalLabel { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="OnChanged">
-      <MemberSignature Language="C#" Value="protected virtual void OnChanged ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Source">
-      <MemberSignature Language="C#" Value="public Gtk.PrinterOption Source { set; get; };" />
-      <MemberType>Property</MemberType>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("source")</AttributeName>
-        </Attribute>
-      </Attributes>
-      <ReturnValue>
-        <ReturnType>Gtk.PrinterOption</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Value">
-      <MemberSignature Language="C#" Value="public string Value { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterRemovedArgs.xml b/doc/en/Gtk/PrinterRemovedArgs.xml
deleted file mode 100644
index 127e0fe..0000000
--- a/doc/en/Gtk/PrinterRemovedArgs.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<Type Name="PrinterRemovedArgs" FullName="Gtk.PrinterRemovedArgs">
-  <TypeSignature Language="C#" Value="public class PrinterRemovedArgs : GLib.SignalArgs" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterRemovedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.PrinterRemovedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PrinterRemovedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Printer">
-      <MemberSignature Language="C#" Value="public Gtk.Printer Printer { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Printer</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The removed printer.</summary>
-        <value>A <see cref="T:Gtk.Printer" />.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.PrintBackend.PrinterRemoved" /> event invokes <see cref="T:Gtk.PrinterRemovedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterRemovedHandler.xml b/doc/en/Gtk/PrinterRemovedHandler.xml
deleted file mode 100644
index 60a4227..0000000
--- a/doc/en/Gtk/PrinterRemovedHandler.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<Type Name="PrinterRemovedHandler" FullName="Gtk.PrinterRemovedHandler">
-  <TypeSignature Language="C#" Value="public delegate void PrinterRemovedHandler(object o, PrinterRemovedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.PrinterRemovedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.PrintBackend.PrinterRemoved" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.PrinterRemovedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.PrinterRemovedHandler" /> to an event, add the PrinterRemovedHandler instance to the event.  The methods referenced by the PrinterRemovedHandler instance are invoked whenever the event is raised, until the PrinterRemovedHandler is removed from the event.</para>
-    </remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterStatusChangedArgs.xml b/doc/en/Gtk/PrinterStatusChangedArgs.xml
deleted file mode 100644
index bf8679b..0000000
--- a/doc/en/Gtk/PrinterStatusChangedArgs.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<Type Name="PrinterStatusChangedArgs" FullName="Gtk.PrinterStatusChangedArgs">
-  <TypeSignature Language="C#" Value="public class PrinterStatusChangedArgs : GLib.SignalArgs" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public PrinterStatusChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.PrinterStatusChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.PrinterStatusChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Printer">
-      <MemberSignature Language="C#" Value="public Gtk.Printer Printer { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Printer</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The updated printer.</summary>
-        <value>A <see cref="T:Gtk.Printer" />.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.PrintBackend.PrinterStatusChanged" /> event invokes <see cref="T:Gtk.PrinterStatusChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/PrinterStatusChangedHandler.xml b/doc/en/Gtk/PrinterStatusChangedHandler.xml
deleted file mode 100644
index ccfb5a5..0000000
--- a/doc/en/Gtk/PrinterStatusChangedHandler.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<Type Name="PrinterStatusChangedHandler" FullName="Gtk.PrinterStatusChangedHandler">
-  <TypeSignature Language="C#" Value="public delegate void PrinterStatusChangedHandler(object o, PrinterStatusChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.PrinterStatusChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.PrintBackend.PrinterStatusChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.PrinterStatusChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.PrinterStatusChangedHandler" /> to an event, add the PrinterStatusChangedHandler instance to the event.  The methods referenced by the PrinterStatusChangedHandler instance are invoked whenever the event is raised, until the PrinterStatusChangedHandler is removed from the event.</para>
-    </remarks>
-    <since version="Gtk# 2.10" />
-  </Docs>
-</Type>
diff --git a/doc/en/Gtk/ProgressBar.xml b/doc/en/Gtk/ProgressBar.xml
index 3d8dd85..2f7f7fe 100644
--- a/doc/en/Gtk/ProgressBar.xml
+++ b/doc/en/Gtk/ProgressBar.xml
@@ -1,6 +1,6 @@
 <Type Name="ProgressBar" FullName="Gtk.ProgressBar">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class ProgressBar : Gtk.Widget, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ProgressBar extends Gtk.Widget implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class ProgressBar : Gtk.Widget, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ProgressBar extends Gtk.Widget implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/ProgressBarOrientation.xml b/doc/en/Gtk/ProgressBarOrientation.xml
deleted file mode 100644
index 4792c6c..0000000
--- a/doc/en/Gtk/ProgressBarOrientation.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<Type Name="ProgressBarOrientation" FullName="Gtk.ProgressBarOrientation">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public enum ProgressBarOrientation" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>An enumeration representing possible orientations and growth directions for the visible <see cref="T:Gtk.ProgressBar" />.</summary>
-    <remarks>An enumeration representing possible orientations and growth directions for the visible <see cref="T:Gtk.ProgressBar" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.ProgressBarOrientationGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="LeftToRight">
-      <MemberSignature Language="C#" Value="LeftToRight" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ProgressBarOrientation</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A horizontal <see cref="T:Gtk.ProgressBar" /> growing from left to right.</summary>
-        <remarks>A horizontal <see cref="T:Gtk.ProgressBar" /> growing from left to right.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RightToLeft">
-      <MemberSignature Language="C#" Value="RightToLeft" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ProgressBarOrientation</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A horizontal <see cref="T:Gtk.ProgressBar" /> growing from right to left.</summary>
-        <remarks>A horizontal <see cref="T:Gtk.ProgressBar" /> growing from right to left.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BottomToTop">
-      <MemberSignature Language="C#" Value="BottomToTop" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ProgressBarOrientation</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A vertical <see cref="T:Gtk.ProgressBar" /> growing from bottom to top.</summary>
-        <remarks>A vertical <see cref="T:Gtk.ProgressBar" /> growing from bottom to top.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TopToBottom">
-      <MemberSignature Language="C#" Value="TopToBottom" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ProgressBarOrientation</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A vertical <see cref="T:Gtk.ProgressBar" /> growing from top to bottom.</summary>
-        <remarks>A vertical <see cref="T:Gtk.ProgressBar" /> growing from top to bottom.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ProgressBarStyle.xml b/doc/en/Gtk/ProgressBarStyle.xml
deleted file mode 100644
index ea156b5..0000000
--- a/doc/en/Gtk/ProgressBarStyle.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<Type Name="ProgressBarStyle" FullName="Gtk.ProgressBarStyle">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public enum ProgressBarStyle" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>An enumeration representing the styles for drawing the <see cref="T:Gtk.ProgressBar" />.</summary>
-    <remarks>An enumeration representing the styles for drawing the <see cref="T:Gtk.ProgressBar" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.ProgressBarStyleGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Continuous">
-      <MemberSignature Language="C#" Value="Continuous" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ProgressBarStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="T:Gtk.ProgressBar" /> grows in a smooth, continuous manner.</summary>
-        <remarks>The <see cref="T:Gtk.ProgressBar" /> grows in a smooth, continuous manner.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Discrete">
-      <MemberSignature Language="C#" Value="Discrete" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ProgressBarStyle</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The <see cref="T:Gtk.ProgressBar" /> grows in discrete, visible blocks.</summary>
-        <remarks>The <see cref="T:Gtk.ProgressBar" /> grows in discrete, visible blocks.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/QueryTooltipArgs.xml b/doc/en/Gtk/QueryTooltipArgs.xml
index e547ab4..b8907cb 100644
--- a/doc/en/Gtk/QueryTooltipArgs.xml
+++ b/doc/en/Gtk/QueryTooltipArgs.xml
@@ -9,8 +9,24 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The following events invoke <see cref="T:Gtk.QueryTooltipHandler" /> delegates which pass event data via this class:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:Gtk.StatusIcon.QueryTooltip" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.Widget.QueryTooltip" />
+            </term>
+          </item>
+        </list>
+      </para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
   <Members>
@@ -20,8 +36,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.QueryTooltipArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.QueryTooltipHandler" /> delegate.</remarks>
       </Docs>
     </Member>
     <Member MemberName="KeyboardTooltip">
diff --git a/doc/en/Gtk/QueryTooltipHandler.xml b/doc/en/Gtk/QueryTooltipHandler.xml
index 54f1e4c..48f06a4 100644
--- a/doc/en/Gtk/QueryTooltipHandler.xml
+++ b/doc/en/Gtk/QueryTooltipHandler.xml
@@ -15,10 +15,28 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The following events utilize this delegate:</para>
+      <para>
+        <list type="bullet">
+          <item>
+            <term>
+              <see cref="M:Gtk.StatusIcon.QueryTooltip" />
+            </term>
+          </item>
+          <item>
+            <term>
+              <see cref="M:Gtk.Widget.QueryTooltip" />
+            </term>
+          </item>
+        </list>
+      </para>
+      <para>Event data is passed via the <see cref="T:Gtk.QueryTooltipArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.QueryTooltipHandler" /> to an event, add the QueryTooltipHandler instance to the event.  The methods referenced by the QueryTooltipHandler instance are invoked whenever the event is raised, until the QueryTooltipHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Quit.xml b/doc/en/Gtk/Quit.xml
deleted file mode 100644
index ca4c9db..0000000
--- a/doc/en/Gtk/Quit.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<Type Name="Quit" FullName="Gtk.Quit">
-  <TypeSignature Language="C#" Value="public class Quit" Maintainer="John Luke" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Object to encapsulate code for running at the end of program execution.</summary>
-    <remarks>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Remove">
-      <MemberSignature Language="C#" Value="public static void Remove (uint quit_handler_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="quit_handler_id" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Removes a quit handler by its identifier.</summary>
-        <param name="quit_handler_id">a <see cref="T:System.UInt32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Add">
-      <MemberSignature Language="C#" Value="public static uint Add (uint main_level, Gtk.Function function);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="main_level" Type="System.UInt32" />
-        <Parameter Name="function" Type="Gtk.Function" />
-      </Parameters>
-      <Docs>
-        <summary>Registers a function to be called when an instance of the mainloop is left.</summary>
-        <param name="main_level">a <see cref="T:System.UInt32" /></param>
-        <param name="function">a <see cref="T:Gtk.Function" /></param>
-        <returns>a <see cref="T:System.UInt32" /></returns>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AddFull">
-      <MemberSignature Language="C#" Value="public static uint AddFull (uint main_level, Gtk.Function function, Gtk.CallbackMarshal marshal, IntPtr data, Gtk.DestroyNotify destroy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="main_level" Type="System.UInt32" />
-        <Parameter Name="function" Type="Gtk.Function" />
-        <Parameter Name="marshal" Type="Gtk.CallbackMarshal" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Registers a function to be called when an instance of the mainloop is left.</summary>
-        <param name="main_level">a <see cref="T:System.UInt32" /></param>
-        <param name="function">a <see cref="T:Gtk.Function" /></param>
-        <param name="marshal">a <see cref="T:Gtk.CallbackMarshal" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <param name="destroy">a <see cref="T:Gtk.DestroyNotify" /></param>
-        <returns>a <see cref="T:System.UInt32" /></returns>
-        <remarks>
-          <para>In comparison to <see cref="M:Gtk.Quit.Add()" /> this function adds the possibility to pass a marshaller and a function to be called when the quit handler is freed.</para>
-          <para>The former can be used to run interpreted code instead of a compiled function while the latter can be used to free the information stored in data.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RemoveByData">
-      <MemberSignature Language="C#" Value="public static void RemoveByData (IntPtr data);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="data" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Removes a quit handler identified by its <paramref name="data" /> field.</summary>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AddDestroy">
-      <MemberSignature Language="C#" Value="public static void AddDestroy (uint main_level, Gtk.Object objekt);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="main_level" Type="System.UInt32" />
-        <Parameter Name="objekt" Type="Gtk.Object" />
-      </Parameters>
-      <Docs>
-        <summary>Trigger destruction of <paramref name="objekt" /> in case the mainloop at level <paramref name="main_level" /> is quit.</summary>
-        <param name="main_level">a <see cref="T:System.UInt32" /></param>
-        <param name="objekt">a <see cref="T:Gtk.Object" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Quit ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Default Constructor</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/RadioAction.xml b/doc/en/Gtk/RadioAction.xml
index 14f331f..4bc3e26 100644
--- a/doc/en/Gtk/RadioAction.xml
+++ b/doc/en/Gtk/RadioAction.xml
@@ -96,8 +96,8 @@
       </Docs>
     </Member>
     <Member MemberName="Group">
-      <MemberSignature Language="C#" Value="public GLib.SList Group { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SList Group" />
+      <MemberSignature Language="C#" Value="public Gtk.RadioAction[] Group { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.RadioAction[] Group" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -105,7 +105,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SList</ReturnType>
+        <ReturnType>Gtk.RadioAction[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/RadioButton.xml b/doc/en/Gtk/RadioButton.xml
index b0114b6..bc052cf 100644
--- a/doc/en/Gtk/RadioButton.xml
+++ b/doc/en/Gtk/RadioButton.xml
@@ -93,11 +93,16 @@
       </Docs>
     </Member>
     <Member MemberName="Group">
-      <MemberSignature Language="C#" Value="public GLib.SList Group { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SList Group" />
+      <MemberSignature Language="C#" Value="public Gtk.RadioButton[] Group { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.RadioButton[] Group" />
       <MemberType>Property</MemberType>
+      <Attributes>
+        <Attribute>
+          <AttributeName>GLib.Property("group")</AttributeName>
+        </Attribute>
+      </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SList</ReturnType>
+        <ReturnType>Gtk.RadioButton[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/RadioMenuItem.xml b/doc/en/Gtk/RadioMenuItem.xml
index 8930cea..cbeed01 100644
--- a/doc/en/Gtk/RadioMenuItem.xml
+++ b/doc/en/Gtk/RadioMenuItem.xml
@@ -64,22 +64,6 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RadioMenuItem (GLib.SList group, string label);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.SList group, string label) cil managed" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="group" Type="GLib.SList" />
-        <Parameter Name="label" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <param name="group">A <see cref="T:GLib.SList" />, the group this item belongs to</param>
-        <param name="label">A <see cref="T:System.String" />, this item's label.</param>
-        <summary>Constructor</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public RadioMenuItem (Gtk.RadioMenuItem group, string label);" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioMenuItem group, string label) cil managed" />
       <MemberType>Constructor</MemberType>
@@ -99,9 +83,25 @@
         <since version="Gtk# 2.4" />
       </Docs>
     </Member>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public RadioMenuItem (Gtk.RadioMenuItem[] group, string label);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioMenuItem[] group, string label) cil managed" />
+      <MemberType>Constructor</MemberType>
+      <Parameters>
+        <Parameter Name="group" Type="Gtk.RadioMenuItem[]" />
+        <Parameter Name="label" Type="System.String" />
+      </Parameters>
+      <Docs>
+        <param name="group">To be added.</param>
+        <param name="label">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="Group">
-      <MemberSignature Language="C#" Value="public GLib.SList Group { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SList Group" />
+      <MemberSignature Language="C#" Value="public Gtk.RadioMenuItem[] Group { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.RadioMenuItem[] Group" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -109,7 +109,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SList</ReturnType>
+        <ReturnType>Gtk.RadioMenuItem[]</ReturnType>
       </ReturnValue>
       <Parameters>
       </Parameters>
diff --git a/doc/en/Gtk/RadioToolButton.xml b/doc/en/Gtk/RadioToolButton.xml
index f05181d..cebddce 100644
--- a/doc/en/Gtk/RadioToolButton.xml
+++ b/doc/en/Gtk/RadioToolButton.xml
@@ -19,35 +19,32 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RadioToolButton (GLib.SList group);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.SList group) cil managed" />
+      <MemberSignature Language="C#" Value="public RadioToolButton (Gtk.RadioToolButton group);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioToolButton group) cil managed" />
       <MemberType>Constructor</MemberType>
       <ReturnValue />
       <Parameters>
-        <Parameter Name="group" Type="GLib.SList" />
+        <Parameter Name="group" Type="Gtk.RadioToolButton" />
       </Parameters>
       <Docs>
-        <param name="group">a <see cref="T:GLib.SList" />, an existing 
-	  radio button group, or <see langword="null" /> if you are creating 
-	  a new group</param>
-        <summary>Constructor with support for button groups.</summary>
+        <param name="group">a <see cref="T:Gtk.RadioToolButton" />, a button in the same group as the one to be created..</param>
+        <summary>Create a new button in the same group as another.</summary>
         <remarks>
         </remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RadioToolButton (Gtk.RadioToolButton group);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioToolButton group) cil managed" />
+      <MemberSignature Language="C#" Value="public RadioToolButton (Gtk.RadioToolButton[] group);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioToolButton[] group) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="group" Type="Gtk.RadioToolButton" />
+        <Parameter Name="group" Type="Gtk.RadioToolButton[]" />
       </Parameters>
       <Docs>
-        <param name="group">a <see cref="T:Gtk.RadioToolButton" />, a button in the same group as the one to be created..</param>
-        <summary>Create a new button in the same group as another.</summary>
-        <remarks>
-        </remarks>
+        <param name="group">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -66,45 +63,41 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RadioToolButton (GLib.SList group, string stock_id);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.SList group, string stock_id) cil managed" />
+      <MemberSignature Language="C#" Value="public RadioToolButton (Gtk.RadioToolButton group, string stock_id);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioToolButton group, string stock_id) cil managed" />
       <MemberType>Constructor</MemberType>
       <ReturnValue />
       <Parameters>
-        <Parameter Name="group" Type="GLib.SList" />
+        <Parameter Name="group" Type="Gtk.RadioToolButton" />
         <Parameter Name="stock_id" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="group">a <see cref="T:GLib.SList" />, an existing 
-	  radio button group, or <see langword="null" /> if you are creating 
-	  a new group</param>
-        <param name="stock_id">a <see cref="T:System.String" />, the ID 
-	  for a stock item to use for an icon and label.</param>
-        <summary>Constructor for stock buttons with groups.</summary>
+        <param name="group">a <see cref="T:Gtk.RadioToolButton" />, a button in the same group as the one to be created.</param>
+        <param name="stock_id">a <see cref="T:System.String" />, the ID of the stock item to use for an icon and label.</param>
+        <summary>Create a new button in the same group as another from a stock item.</summary>
         <remarks>
         </remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RadioToolButton (Gtk.RadioToolButton group, string stock_id);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioToolButton group, string stock_id) cil managed" />
+      <MemberSignature Language="C#" Value="public RadioToolButton (Gtk.RadioToolButton[] group, string stock_id);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RadioToolButton[] group, string stock_id) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="group" Type="Gtk.RadioToolButton" />
+        <Parameter Name="group" Type="Gtk.RadioToolButton[]" />
         <Parameter Name="stock_id" Type="System.String" />
       </Parameters>
       <Docs>
-        <param name="group">a <see cref="T:Gtk.RadioToolButton" />, a button in the same group as the one to be created.</param>
-        <param name="stock_id">a <see cref="T:System.String" />, the ID of the stock item to use for an icon and label.</param>
-        <summary>Create a new button in the same group as another from a stock item.</summary>
-        <remarks>
-        </remarks>
+        <param name="group">To be added.</param>
+        <param name="stock_id">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Group">
-      <MemberSignature Language="C#" Value="public GLib.SList Group { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.SList Group" />
+      <MemberSignature Language="C#" Value="public Gtk.RadioToolButton[] Group { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.RadioToolButton[] Group" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -112,7 +105,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.SList</ReturnType>
+        <ReturnType>Gtk.RadioToolButton[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/RecentAction.xml b/doc/en/Gtk/RecentAction.xml
index be53e99..961f9ab 100644
--- a/doc/en/Gtk/RecentAction.xml
+++ b/doc/en/Gtk/RecentAction.xml
@@ -1,6 +1,6 @@
 <Type Name="RecentAction" FullName="Gtk.RecentAction">
-  <TypeSignature Language="C#" Value="public class RecentAction : Gtk.Action, Gtk.RecentChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentAction extends Gtk.Action implements class GLib.IWrapper, class Gtk.RecentChooser" />
+  <TypeSignature Language="C#" Value="public class RecentAction : Gtk.Action, Gtk.IRecentChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentAction extends Gtk.Action implements class GLib.IWrapper, class Gtk.IRecentChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.RecentChooser</InterfaceName>
+      <InterfaceName>Gtk.IRecentChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -141,11 +141,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -155,6 +155,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -165,9 +166,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.RecentAction" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Items">
diff --git a/doc/en/Gtk/RecentChooserAdapter.xml b/doc/en/Gtk/RecentChooserAdapter.xml
index 23acd15..6a29400 100644
--- a/doc/en/Gtk/RecentChooserAdapter.xml
+++ b/doc/en/Gtk/RecentChooserAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="RecentChooserAdapter" FullName="Gtk.RecentChooserAdapter">
-  <TypeSignature Language="C#" Value="public class RecentChooserAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.RecentChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi RecentChooserAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.RecentChooser" />
+  <TypeSignature Language="C#" Value="public class RecentChooserAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IRecentChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi RecentChooserAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IRecentChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.RecentChooser</InterfaceName>
+      <InterfaceName>Gtk.IRecentChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RecentChooserAdapter (Gtk.RecentChooserImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.RecentChooserImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public RecentChooserAdapter (Gtk.IRecentChooserImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IRecentChooserImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.RecentChooserImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IRecentChooserImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -142,11 +143,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.RecentChooser GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.RecentChooser GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IRecentChooser GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IRecentChooser GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.RecentChooser</ReturnType>
+        <ReturnType>Gtk.IRecentChooser</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -160,11 +161,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.RecentChooser GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.RecentChooser GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IRecentChooser GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IRecentChooser GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.RecentChooser</ReturnType>
+        <ReturnType>Gtk.IRecentChooser</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -176,14 +177,15 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -193,11 +195,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -224,11 +241,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.RecentChooserImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.RecentChooserImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IRecentChooserImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IRecentChooserImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.RecentChooserImplementor</ReturnType>
+        <ReturnType>Gtk.IRecentChooserImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/RecentChooserDefault.xml b/doc/en/Gtk/RecentChooserDefault.xml
index f9f25c7..4d2c9e7 100644
--- a/doc/en/Gtk/RecentChooserDefault.xml
+++ b/doc/en/Gtk/RecentChooserDefault.xml
@@ -1,6 +1,6 @@
 <Type Name="RecentChooserDefault" FullName="Gtk.RecentChooserDefault">
-  <TypeSignature Language="C#" Value="public class RecentChooserDefault : Gtk.VBox, Gtk.Activatable, Gtk.RecentChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserDefault extends Gtk.VBox implements class GLib.IWrapper, class Gtk.Activatable, class Gtk.RecentChooser" />
+  <TypeSignature Language="C#" Value="public class RecentChooserDefault : Gtk.VBox, Gtk.IActivatable, Gtk.IRecentChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserDefault extends Gtk.VBox implements class GLib.IWrapper, class Gtk.IActivatable, class Gtk.IRecentChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.RecentChooser</InterfaceName>
+      <InterfaceName>Gtk.IRecentChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -39,9 +39,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddFilter">
@@ -131,11 +131,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -145,6 +145,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Items">
diff --git a/doc/en/Gtk/RecentChooserDialog.xml b/doc/en/Gtk/RecentChooserDialog.xml
index 4fa36fd..2a2f111 100644
--- a/doc/en/Gtk/RecentChooserDialog.xml
+++ b/doc/en/Gtk/RecentChooserDialog.xml
@@ -1,6 +1,6 @@
 <Type Name="RecentChooserDialog" FullName="Gtk.RecentChooserDialog">
-  <TypeSignature Language="C#" Value="public class RecentChooserDialog : Gtk.Dialog, Gtk.RecentChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserDialog extends Gtk.Dialog implements class GLib.IWrapper, class Gtk.RecentChooser" />
+  <TypeSignature Language="C#" Value="public class RecentChooserDialog : Gtk.Dialog, Gtk.IRecentChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserDialog extends Gtk.Dialog implements class GLib.IWrapper, class Gtk.IRecentChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.RecentChooser</InterfaceName>
+      <InterfaceName>Gtk.IRecentChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -36,9 +36,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddFilter">
@@ -111,11 +111,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -125,6 +125,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -135,9 +136,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.RecentChooserDialog" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Items">
diff --git a/doc/en/Gtk/RecentChooserMenu.xml b/doc/en/Gtk/RecentChooserMenu.xml
index 90fe060..d55a799 100644
--- a/doc/en/Gtk/RecentChooserMenu.xml
+++ b/doc/en/Gtk/RecentChooserMenu.xml
@@ -1,6 +1,6 @@
 <Type Name="RecentChooserMenu" FullName="Gtk.RecentChooserMenu">
-  <TypeSignature Language="C#" Value="public class RecentChooserMenu : Gtk.Menu, Gtk.Activatable, Gtk.RecentChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserMenu extends Gtk.Menu implements class GLib.IWrapper, class Gtk.Activatable, class Gtk.RecentChooser" />
+  <TypeSignature Language="C#" Value="public class RecentChooserMenu : Gtk.Menu, Gtk.IActivatable, Gtk.IRecentChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserMenu extends Gtk.Menu implements class GLib.IWrapper, class Gtk.IActivatable, class Gtk.IRecentChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.RecentChooser</InterfaceName>
+      <InterfaceName>Gtk.IRecentChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -52,9 +52,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddFilter">
@@ -144,11 +144,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -158,6 +158,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -168,9 +169,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.RecentChooserMenu" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Items">
diff --git a/doc/en/Gtk/RecentChooserWidget.xml b/doc/en/Gtk/RecentChooserWidget.xml
index a53c8b4..0e4b7aa 100644
--- a/doc/en/Gtk/RecentChooserWidget.xml
+++ b/doc/en/Gtk/RecentChooserWidget.xml
@@ -1,6 +1,6 @@
 <Type Name="RecentChooserWidget" FullName="Gtk.RecentChooserWidget">
-  <TypeSignature Language="C#" Value="public class RecentChooserWidget : Gtk.VBox, Gtk.RecentChooser" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserWidget extends Gtk.VBox implements class GLib.IWrapper, class Gtk.RecentChooser" />
+  <TypeSignature Language="C#" Value="public class RecentChooserWidget : Gtk.VBox, Gtk.IRecentChooser" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit RecentChooserWidget extends Gtk.VBox implements class GLib.IWrapper, class Gtk.IRecentChooser" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.RecentChooser</InterfaceName>
+      <InterfaceName>Gtk.IRecentChooser</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -49,9 +49,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddFilter">
@@ -124,11 +124,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetUris">
-      <MemberSignature Language="C#" Value="public string GetUris (out ulong length);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string GetUris(unsigned int64 length) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] GetUris (out ulong length);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string[] GetUris(unsigned int64 length) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>System.String</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="length" Type="System.UInt64&" RefType="out" />
@@ -138,6 +138,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -148,9 +149,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.RecentChooserWidget" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Items">
diff --git a/doc/en/Gtk/RecentFilter.xml b/doc/en/Gtk/RecentFilter.xml
index c99d285..32df7fa 100644
--- a/doc/en/Gtk/RecentFilter.xml
+++ b/doc/en/Gtk/RecentFilter.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddAge">
@@ -173,9 +173,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.RecentFilter" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Name">
diff --git a/doc/en/Gtk/RecentInfo.xml b/doc/en/Gtk/RecentInfo.xml
index 3d78b9b..049379a 100644
--- a/doc/en/Gtk/RecentInfo.xml
+++ b/doc/en/Gtk/RecentInfo.xml
@@ -54,11 +54,11 @@
       </Docs>
     </Member>
     <Member MemberName="CreateAppInfo">
-      <MemberSignature Language="C#" Value="public GLib.AppInfo CreateAppInfo (string app_name);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.AppInfo CreateAppInfo(string app_name) cil managed" />
+      <MemberSignature Language="C#" Value="public GLib.IAppInfo CreateAppInfo (string app_name);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.IAppInfo CreateAppInfo(string app_name) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.AppInfo</ReturnType>
+        <ReturnType>GLib.IAppInfo</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="app_name" Type="System.String" />
@@ -201,11 +201,11 @@
       </Docs>
     </Member>
     <Member MemberName="Gicon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Gicon { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Gicon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Gicon { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Gicon" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/RecentManager.xml b/doc/en/Gtk/RecentManager.xml
index 715c0f0..9b348ef 100644
--- a/doc/en/Gtk/RecentManager.xml
+++ b/doc/en/Gtk/RecentManager.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="AddFull">
@@ -143,9 +143,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.RecentManager" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="HasItem">
@@ -233,8 +233,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.RecentManager.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.RecentManager.Changed" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="PurgeItems">
diff --git a/doc/en/Gtk/RedirectArgs.xml b/doc/en/Gtk/RedirectArgs.xml
deleted file mode 100644
index f496fc0..0000000
--- a/doc/en/Gtk/RedirectArgs.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<Type Name="RedirectArgs" FullName="Gtk.RedirectArgs">
-  <TypeSignature Language="C#" Value="public class RedirectArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.Redirect" /> event invokes <see cref="T:Gtk.RedirectHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public RedirectArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.RedirectArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.RedirectHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Delay">
-      <MemberSignature Language="C#" Value="public int Delay { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Number of seconds to wait before the redirect.</summary>
-        <value>A <see cref="T:System.Int32" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Url">
-      <MemberSignature Language="C#" Value="public string Url { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The URL being redirected to.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/RedirectHandler.xml b/doc/en/Gtk/RedirectHandler.xml
deleted file mode 100644
index 0994a13..0000000
--- a/doc/en/Gtk/RedirectHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="RedirectHandler" FullName="Gtk.RedirectHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void RedirectHandler(object o, RedirectArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.Redirect" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.RedirectArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.RedirectHandler" /> to an event, add the RedirectHandler instance to the event.  The methods referenced by the RedirectHandler instance are invoked whenever the event is raised, until the RedirectHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.RedirectArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/RemoveEditableArgs.xml b/doc/en/Gtk/RemoveEditableArgs.xml
index b10dc8d..9d9ea6f 100644
--- a/doc/en/Gtk/RemoveEditableArgs.xml
+++ b/doc/en/Gtk/RemoveEditableArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.RemoveEditable" /> event invokes <see cref="T:Gtk.RemoveEditableHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.RemoveEditableArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.RemoveEditableHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -40,11 +42,11 @@
       </Docs>
     </Member>
     <Member MemberName="P1">
-      <MemberSignature Language="C#" Value="public Gtk.CellEditable P1 { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellEditable P1" />
+      <MemberSignature Language="C#" Value="public Gtk.ICellEditable P1 { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ICellEditable P1" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.CellEditable</ReturnType>
+        <ReturnType>Gtk.ICellEditable</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/RemoveEditableHandler.xml b/doc/en/Gtk/RemoveEditableHandler.xml
index 241a60d..01ccacd 100644
--- a/doc/en/Gtk/RemoveEditableHandler.xml
+++ b/doc/en/Gtk/RemoveEditableHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.CellArea.RemoveEditable" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.RemoveEditableArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.RemoveEditableHandler" /> to an event, add the RemoveEditableHandler instance to the event.  The methods referenced by the RemoveEditableHandler instance are invoked whenever the event is raised, until the RemoveEditableHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/RespondArgs.xml b/doc/en/Gtk/RespondArgs.xml
index 911514e..cebc920 100644
--- a/doc/en/Gtk/RespondArgs.xml
+++ b/doc/en/Gtk/RespondArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.InfoBar.Respond" /> event invokes <see cref="T:Gtk.RespondHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.RespondArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.RespondHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/RespondHandler.xml b/doc/en/Gtk/RespondHandler.xml
index 40fcf9f..3bbf139 100644
--- a/doc/en/Gtk/RespondHandler.xml
+++ b/doc/en/Gtk/RespondHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.InfoBar.Respond" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.RespondArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.RespondHandler" /> to an event, add the RespondHandler instance to the event.  The methods referenced by the RespondHandler instance are invoked whenever the event is raised, until the RespondHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Ruler.xml b/doc/en/Gtk/Ruler.xml
deleted file mode 100644
index 5a2d32a..0000000
--- a/doc/en/Gtk/Ruler.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-<Type Name="Ruler" FullName="Gtk.Ruler">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Ruler : Gtk.Widget" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A base class for ruler widgets.</summary>
-    <remarks>
-      <para>The Ruler widget is a base class for horizontal and vertical rulers. Rulers are used to show the mouse pointer's location in a window. Within the ruler a small triangle indicates the location of the mouse relative to the horizontal or vertical ruler. Concrete classes are <see cref="T:Gtk.HRuler" /> and <see cref="T:Gtk.VRuler" /> for horizontal and vertical rulers, respectively.</para>
-      <para>With this class, you can adjust the unit type and the range of values that a ruler displays.</para>
-      <para>Note:- This widget is considered too specialized for GTK+, and will likely be moved to some other package in the future.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Widget</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="DrawTicks">
-      <MemberSignature Language="C#" Value="public void DrawTicks ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draws tickmarks on the ruler.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="DrawPos">
-      <MemberSignature Language="C#" Value="public void DrawPos ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Draws the mouse position mark on the ruler.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="SetRange">
-      <MemberSignature Language="C#" Value="public void SetRange (double lower, double upper, double position, double max_size);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="lower" Type="System.Double" />
-        <Parameter Name="upper" Type="System.Double" />
-        <Parameter Name="position" Type="System.Double" />
-        <Parameter Name="max_size" Type="System.Double" />
-      </Parameters>
-      <Docs>
-        <summary>Sets the range information.</summary>
-        <param name="lower">The lower value to display on the Ruler.</param>
-        <param name="upper">The upper value to display on the Ruler.</param>
-        <param name="position">The current position of the mouse aligned with this Ruler.</param>
-        <param name="max_size">A <see cref="T:System.Double" />, the maximum size of the ruler.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GetRange">
-      <MemberSignature Language="C#" Value="public void GetRange (out double lower, out double upper, out double position, out double max_size);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="lower" Type="System.Double&" RefType="out" />
-        <Parameter Name="upper" Type="System.Double&" RefType="out" />
-        <Parameter Name="position" Type="System.Double&" RefType="out" />
-        <Parameter Name="max_size" Type="System.Double&" RefType="out" />
-      </Parameters>
-      <Docs>
-        <summary>Gets the range information.</summary>
-        <param name="lower">A <see cref="T:System.Double" /> for the lower value to display on the Ruler.</param>
-        <param name="upper">A <see cref="T:System.Double" /> for the upper value to display on the Ruler.</param>
-        <param name="position">A <see cref="T:System.Double" /> for the current position of the mouse aligned with this Ruler.</param>
-        <param name="max_size">A <see cref="T:System.Double" />, the maximum size of the ruler.</param>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Ruler (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Metric">
-      <MemberSignature Language="C#" Value="public Gtk.MetricType Metric { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.MetricType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Manage the measurement unit that is displayed.</summary>
-        <value>The current units in use.</value>
-        <remarks>
-          <para>If this property is not explicitly set, the default <see cref="T:Gtk.MetricType" /> for a ruler is <see cref="P:Gtk.MetricType.Pixels" />.</para>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("metric")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Upper">
-      <MemberSignature Language="C#" Value="public double Upper { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The upper value to display on the ruler.</summary>
-        <value>A <see cref="T:System.Double" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("upper")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Position">
-      <MemberSignature Language="C#" Value="public double Position { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The position of the mouse mark on the ruler.</summary>
-        <value>A <see cref="T:System.Double" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("position")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="MaxSize">
-      <MemberSignature Language="C#" Value="public double MaxSize { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The maximum size of the ruler.</summary>
-        <value>A <see cref="T:System.Double" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("max-size")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Lower">
-      <MemberSignature Language="C#" Value="public double Lower { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The lower limit of the ruler.</summary>
-        <value>A <see cref="T:System.Double" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>GLib.Property("lower")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Ruler" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Ruler (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Ruler ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Protected constructor.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/RulerMetric.xml b/doc/en/Gtk/RulerMetric.xml
deleted file mode 100644
index 8521c69..0000000
--- a/doc/en/Gtk/RulerMetric.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<Type Name="RulerMetric" FullName="Gtk.RulerMetric">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct RulerMetric" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Information about measurement units on <see cref="T:Gtk.Ruler" /> objects.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.RulerMetric Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.RulerMetric</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An empty/default RulerMetric.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.RulerMetric New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.RulerMetric</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Default constructor.</summary>
-        <param name="raw">A <see cref="T:IntPtr" />, pointer to the underlying C object.</param>
-        <returns>A <see cref="T:Gtk.RulerMetric" /></returns>
-        <remarks>For internal use only.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="MetricName">
-      <MemberSignature Language="C#" Value="public string MetricName;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The name of the units this ruler measures: one of Pixels, Inches, or Centimeters.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Abbrev">
-      <MemberSignature Language="C#" Value="public string Abbrev;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The abbreviations for this metric's units: "Pi" for pixels, "In" for inches, "Cn" for centimeters.</summary>
-        <remarks>"Cn" isn't a typo; that's how it's defined in Gtk+. See bugzilla.gnome.org bug 151944.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="PixelsPerUnit">
-      <MemberSignature Language="C#" Value="public double PixelsPerUnit;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The conversion factor between pixels and the given unit for the ruler.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="RulerScale">
-      <MemberSignature Language="C#" Value="public double[] RulerScale;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Double[]</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>An array of possible scales for the ruler, dependent on the units chosen.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Subdivide">
-      <MemberSignature Language="C#" Value="public int[] Subdivide;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Int32[]</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>How many sub-units to break up each ruler unit into.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ScaleButton.xml b/doc/en/Gtk/ScaleButton.xml
index 04bef3b..4c6eddd 100644
--- a/doc/en/Gtk/ScaleButton.xml
+++ b/doc/en/Gtk/ScaleButton.xml
@@ -1,6 +1,6 @@
 <Type Name="ScaleButton" FullName="Gtk.ScaleButton">
-  <TypeSignature Language="C#" Value="public class ScaleButton : Gtk.Button, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ScaleButton extends Gtk.Button implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Value="public class ScaleButton : Gtk.Button, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ScaleButton extends Gtk.Button implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -78,9 +78,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ScaleButton" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Icons">
@@ -129,8 +129,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.ScaleButton.Popdown" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ScaleButton.Popdown" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -148,8 +148,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.ScaleButton.PoppedUp" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ScaleButton.PoppedUp" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -170,8 +170,8 @@
       </Parameters>
       <Docs>
         <param name="value">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.ScaleButton.ValueChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.ScaleButton.ValueChanged" /> event.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Orientation">
diff --git a/doc/en/Gtk/ScrollAdjustmentsSetArgs.xml b/doc/en/Gtk/ScrollAdjustmentsSetArgs.xml
deleted file mode 100644
index 44ea0f8..0000000
--- a/doc/en/Gtk/ScrollAdjustmentsSetArgs.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<Type Name="ScrollAdjustmentsSetArgs" FullName="Gtk.ScrollAdjustmentsSetArgs">
-  <TypeSignature Language="C#" Value="public class ScrollAdjustmentsSetArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The following events invoke <see cref="T:Gtk.ScrollAdjustmentsSetHandler" /> delegates which pass event data via this class:</para>
-      <para>
-        <list type="bullet">
-          <item>
-            <term>
-              <see cref="M:Gtk.Layout.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-          <item>
-            <term>
-              <see cref="M:Gtk.TextView.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-          <item>
-            <term>
-              <see cref="M:Gtk.TreeView.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-          <item>
-            <term>
-              <see cref="M:Gtk.Viewport.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-        </list>
-      </para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ScrollAdjustmentsSetArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.ScrollAdjustmentsSetArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ScrollAdjustmentsSetHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Vadjustment">
-      <MemberSignature Language="C#" Value="public Gtk.Adjustment Vadjustment { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Adjustment</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The vertical adjustment for the scrolling event.</summary>
-        <value>a <see cref="T:Gtk.Adjustment" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Hadjustment">
-      <MemberSignature Language="C#" Value="public Gtk.Adjustment Hadjustment { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Adjustment</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The horizontal adjustment for the scrolling event.</summary>
-        <value>a <see cref="T:Gtk.Adjustment" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ScrollAdjustmentsSetHandler.xml b/doc/en/Gtk/ScrollAdjustmentsSetHandler.xml
deleted file mode 100644
index ee14b4a..0000000
--- a/doc/en/Gtk/ScrollAdjustmentsSetHandler.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<Type Name="ScrollAdjustmentsSetHandler" FullName="Gtk.ScrollAdjustmentsSetHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ScrollAdjustmentsSetHandler(object o, ScrollAdjustmentsSetArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The following events utilize this delegate:</para>
-      <para>
-        <list type="bullet">
-          <item>
-            <term>
-              <see cref="M:Gtk.Layout.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-          <item>
-            <term>
-              <see cref="M:Gtk.TextView.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-          <item>
-            <term>
-              <see cref="M:Gtk.TreeView.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-          <item>
-            <term>
-              <see cref="M:Gtk.Viewport.ScrollAdjustmentsSet" />
-            </term>
-          </item>
-        </list>
-      </para>
-      <para>Event data is passed via the <see cref="T:Gtk.ScrollAdjustmentsSetArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.ScrollAdjustmentsSetHandler" /> to an event, add the ScrollAdjustmentsSetHandler instance to the event.  The methods referenced by the ScrollAdjustmentsSetHandler instance are invoked whenever the event is raised, until the ScrollAdjustmentsSetHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ScrollAdjustmentsSetArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/ScrollArgs.xml b/doc/en/Gtk/ScrollArgs.xml
deleted file mode 100644
index c16d27e..0000000
--- a/doc/en/Gtk/ScrollArgs.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<Type Name="ScrollArgs" FullName="Gtk.ScrollArgs">
-  <TypeSignature Language="C#" Value="public class ScrollArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.Scroll" /> event invokes <see cref="T:Gtk.ScrollHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ScrollArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.ScrollArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ScrollHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Position">
-      <MemberSignature Language="C#" Value="public float Position { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Single</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The position of the scroller.</summary>
-        <value>a <see cref="T:System.Single" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="ScrollType">
-      <MemberSignature Language="C#" Value="public Gtk.ScrollType ScrollType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ScrollType</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>What kind of scrolling happened in this event.</summary>
-        <value>A <see cref="Gtk.ScrollType" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Orientation">
-      <MemberSignature Language="C#" Value="public Gtk.Orientation Orientation { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Orientation</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The orientation of the scroller in question, horizontal or vertical.</summary>
-        <value>A <see cref="T:Gtk.Orientation" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ScrollHandler.xml b/doc/en/Gtk/ScrollHandler.xml
deleted file mode 100644
index dacf279..0000000
--- a/doc/en/Gtk/ScrollHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="ScrollHandler" FullName="Gtk.ScrollHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void ScrollHandler(object o, ScrollArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.Scroll" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.ScrollArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.ScrollHandler" /> to an event, add the ScrollHandler instance to the event.  The methods referenced by the ScrollHandler instance are invoked whenever the event is raised, until the ScrollHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.ScrollArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/ScrollableAdapter.xml b/doc/en/Gtk/ScrollableAdapter.xml
index cce15f3..4f88ea8 100644
--- a/doc/en/Gtk/ScrollableAdapter.xml
+++ b/doc/en/Gtk/ScrollableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ScrollableAdapter" FullName="Gtk.ScrollableAdapter">
-  <TypeSignature Language="C#" Value="public class ScrollableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ScrollableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Value="public class ScrollableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ScrollableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ScrollableAdapter (Gtk.ScrollableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ScrollableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ScrollableAdapter (Gtk.IScrollableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IScrollableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.ScrollableImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IScrollableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -61,11 +61,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Scrollable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Scrollable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IScrollable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IScrollable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Scrollable</ReturnType>
+        <ReturnType>Gtk.IScrollable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -79,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.Scrollable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.Scrollable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IScrollable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IScrollable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.Scrollable</ReturnType>
+        <ReturnType>Gtk.IScrollable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -98,9 +98,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -165,11 +179,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.ScrollableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ScrollableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IScrollableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IScrollableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.ScrollableImplementor</ReturnType>
+        <ReturnType>Gtk.IScrollableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/Separator.xml b/doc/en/Gtk/Separator.xml
index b1185c4..6fe695f 100644
--- a/doc/en/Gtk/Separator.xml
+++ b/doc/en/Gtk/Separator.xml
@@ -1,6 +1,6 @@
 <Type Name="Separator" FullName="Gtk.Separator">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class Separator : Gtk.Widget, Gtk.Orientable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Separator extends Gtk.Widget implements class GLib.IWrapper, class Gtk.Orientable" />
+  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class Separator : Gtk.Widget, Gtk.IOrientable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Separator extends Gtk.Widget implements class GLib.IWrapper, class Gtk.IOrientable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/SetBaseArgs.xml b/doc/en/Gtk/SetBaseArgs.xml
deleted file mode 100644
index a44faae..0000000
--- a/doc/en/Gtk/SetBaseArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="SetBaseArgs" FullName="Gtk.SetBaseArgs">
-  <TypeSignature Language="C#" Value="public class SetBaseArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.SetBase" /> event invokes <see cref="T:Gtk.SetBaseHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SetBaseArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.SetBaseArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.SetBaseHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BaseUrl">
-      <MemberSignature Language="C#" Value="public string BaseUrl { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The base URL for this HTML widget.</summary>
-        <value>A <see cref="T:System.String" />.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SetBaseHandler.xml b/doc/en/Gtk/SetBaseHandler.xml
deleted file mode 100644
index c39416c..0000000
--- a/doc/en/Gtk/SetBaseHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="SetBaseHandler" FullName="Gtk.SetBaseHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void SetBaseHandler(object o, SetBaseArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.SetBase" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.SetBaseArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.SetBaseHandler" /> to an event, add the SetBaseHandler instance to the event.  The methods referenced by the SetBaseHandler instance are invoked whenever the event is raised, until the SetBaseHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.SetBaseArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/SetBaseTargetArgs.xml b/doc/en/Gtk/SetBaseTargetArgs.xml
deleted file mode 100644
index ba3d80a..0000000
--- a/doc/en/Gtk/SetBaseTargetArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="SetBaseTargetArgs" FullName="Gtk.SetBaseTargetArgs">
-  <TypeSignature Language="C#" Value="public class SetBaseTargetArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.SetBaseTarget" /> event invokes <see cref="T:Gtk.SetBaseTargetHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SetBaseTargetArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.SetBaseTargetArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.SetBaseTargetHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="BaseUrl">
-      <MemberSignature Language="C#" Value="public string BaseUrl { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The base target URL being set.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SetBaseTargetHandler.xml b/doc/en/Gtk/SetBaseTargetHandler.xml
deleted file mode 100644
index 807ba34..0000000
--- a/doc/en/Gtk/SetBaseTargetHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="SetBaseTargetHandler" FullName="Gtk.SetBaseTargetHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void SetBaseTargetHandler(object o, SetBaseTargetArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.SetBaseTarget" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.SetBaseTargetArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.SetBaseTargetHandler" /> to an event, add the SetBaseTargetHandler instance to the event.  The methods referenced by the SetBaseTargetHandler instance are invoked whenever the event is raised, until the SetBaseTargetHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.SetBaseTargetArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Settings.xml b/doc/en/Gtk/Settings.xml
index c12d8ca..07a3f0d 100644
--- a/doc/en/Gtk/Settings.xml
+++ b/doc/en/Gtk/Settings.xml
@@ -1,6 +1,6 @@
 <Type Name="Settings" FullName="Gtk.Settings">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class Settings : GLib.Object, Gtk.StyleProvider" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Settings extends GLib.Object implements class GLib.IWrapper, class Gtk.StyleProvider" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class Settings : GLib.Object, Gtk.IStyleProvider" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Settings extends GLib.Object implements class GLib.IWrapper, class Gtk.IStyleProvider" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.StyleProvider</InterfaceName>
+      <InterfaceName>Gtk.IStyleProvider</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/SideType.xml b/doc/en/Gtk/SideType.xml
deleted file mode 100644
index 2dc759e..0000000
--- a/doc/en/Gtk/SideType.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="SideType" FullName="Gtk.SideType">
-  <TypeSignature Language="C#" Value="public enum SideType" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Gtk.SideType is deprecated and should not be used in newly-written code.</summary>
-    <remarks>
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.SideTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Top">
-      <MemberSignature Language="C#" Value="Top" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SideType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>SideTop</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Bottom">
-      <MemberSignature Language="C#" Value="Bottom" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SideType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>SideBottom</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Left">
-      <MemberSignature Language="C#" Value="Left" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SideType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>SideLeft</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Right">
-      <MemberSignature Language="C#" Value="Right" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SideType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>SideRight</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SignalFunc.xml b/doc/en/Gtk/SignalFunc.xml
deleted file mode 100644
index 2e21310..0000000
--- a/doc/en/Gtk/SignalFunc.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<Type Name="SignalFunc" FullName="Gtk.SignalFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void SignalFunc();" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Deprecated. Do not use.</summary>
-    <remarks>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/SizeRequestedArgs.xml b/doc/en/Gtk/SizeRequestedArgs.xml
deleted file mode 100644
index e4ee95f..0000000
--- a/doc/en/Gtk/SizeRequestedArgs.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<Type Name="SizeRequestedArgs" FullName="Gtk.SizeRequestedArgs">
-  <TypeSignature Language="C#" Value="public class SizeRequestedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.SizeRequested" /> event invokes <see cref="T:Gtk.SizeRequestedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SizeRequestedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.SizeRequestedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.SizeRequestedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Requisition">
-      <MemberSignature Language="C#" Value="public Gtk.Requisition Requisition { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Requisition</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The width and height this widget would like to have.</summary>
-        <value>A <see cref="T:Gtk.Requisition" /></value>
-        <remarks>
-          <example>
-            <code lang="C#">Requisition req = args.Requisition;
-req.Width = 100;
-req.Height = 200;
-
-// NB: You must assign the value back to args.Requisition
-args.Requisition = req;</code>
-          </example>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SizeRequestedHandler.xml b/doc/en/Gtk/SizeRequestedHandler.xml
deleted file mode 100644
index a2461bd..0000000
--- a/doc/en/Gtk/SizeRequestedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="SizeRequestedHandler" FullName="Gtk.SizeRequestedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void SizeRequestedHandler(object o, SizeRequestedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.Widget.SizeRequested" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.SizeRequestedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.SizeRequestedHandler" /> to an event, add the SizeRequestedHandler instance to the event.  The methods referenced by the SizeRequestedHandler instance are invoked whenever the event is raised, until the SizeRequestedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.SizeRequestedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Spinner.xml b/doc/en/Gtk/Spinner.xml
index 97954a8..47d3575 100644
--- a/doc/en/Gtk/Spinner.xml
+++ b/doc/en/Gtk/Spinner.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -66,9 +66,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Spinner" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/StateFlagsChangedArgs.xml b/doc/en/Gtk/StateFlagsChangedArgs.xml
index 8324db9..d1a3256 100644
--- a/doc/en/Gtk/StateFlagsChangedArgs.xml
+++ b/doc/en/Gtk/StateFlagsChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.StateFlagsChanged" /> event invokes <see cref="T:Gtk.StateFlagsChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.StateFlagsChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.StateFlagsChangedHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/StateFlagsChangedHandler.xml b/doc/en/Gtk/StateFlagsChangedHandler.xml
index 781117c..94b7d36 100644
--- a/doc/en/Gtk/StateFlagsChangedHandler.xml
+++ b/doc/en/Gtk/StateFlagsChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.Widget.StateFlagsChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.StateFlagsChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.StateFlagsChangedHandler" /> to an event, add the StateFlagsChangedHandler instance to the event.  The methods referenced by the StateFlagsChangedHandler instance are invoked whenever the event is raised, until the StateFlagsChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/StatusIcon.xml b/doc/en/Gtk/StatusIcon.xml
index 7341ee6..f348a95 100644
--- a/doc/en/Gtk/StatusIcon.xml
+++ b/doc/en/Gtk/StatusIcon.xml
@@ -38,11 +38,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public StatusIcon (GLib.Icon icon);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Icon icon) cil managed" />
+      <MemberSignature Language="C#" Value="public StatusIcon (GLib.IIcon icon);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.IIcon icon) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="icon" Type="GLib.Icon" />
+        <Parameter Name="icon" Type="GLib.IIcon" />
       </Parameters>
       <Docs>
         <param name="icon">To be added.</param>
@@ -321,8 +321,8 @@
       </Docs>
     </Member>
     <Member MemberName="Icon">
-      <MemberSignature Language="C#" Value="public GLib.Icon Icon { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class GLib.Icon Icon" />
+      <MemberSignature Language="C#" Value="public GLib.IIcon Icon { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class GLib.IIcon Icon" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -330,7 +330,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>GLib.Icon</ReturnType>
+        <ReturnType>GLib.IIcon</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -454,9 +454,9 @@
       </Parameters>
       <Docs>
         <param name="evnt">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.StatusIcon.ButtonPressEvent" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.StatusIcon.ButtonPressEvent" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -477,9 +477,9 @@
       </Parameters>
       <Docs>
         <param name="evnt">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.StatusIcon.ButtonReleaseEvent" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.StatusIcon.ButtonReleaseEvent" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -529,9 +529,9 @@
         <param name="y">To be added.</param>
         <param name="keyboard_mode">To be added.</param>
         <param name="tooltip">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.StatusIcon.QueryTooltip" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.StatusIcon.QueryTooltip" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -552,9 +552,9 @@
       </Parameters>
       <Docs>
         <param name="evnt">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.StatusIcon.ScrollEvent" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.StatusIcon.ScrollEvent" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Style.xml b/doc/en/Gtk/Style.xml
index ef9e9fc..d3a6e5c 100644
--- a/doc/en/Gtk/Style.xml
+++ b/doc/en/Gtk/Style.xml
@@ -12,6 +12,11 @@
   </Base>
   <Interfaces>
   </Interfaces>
+  <Attributes>
+    <Attribute>
+      <AttributeName>System.Obsolete("Replaced by StyleContext")</AttributeName>
+    </Attribute>
+  </Attributes>
   <Docs>
     <summary>Methods for drawing widget parts.</summary>
     <remarks>
diff --git a/doc/en/Gtk/StyleContext.xml b/doc/en/Gtk/StyleContext.xml
index 175927b..88aa4bd 100644
--- a/doc/en/Gtk/StyleContext.xml
+++ b/doc/en/Gtk/StyleContext.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -57,14 +57,14 @@
       </Docs>
     </Member>
     <Member MemberName="AddProvider">
-      <MemberSignature Language="C#" Value="public void AddProvider (Gtk.StyleProvider provider, uint priority);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddProvider(class Gtk.StyleProvider provider, unsigned int32 priority) cil managed" />
+      <MemberSignature Language="C#" Value="public void AddProvider (Gtk.IStyleProvider provider, uint priority);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddProvider(class Gtk.IStyleProvider provider, unsigned int32 priority) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="provider" Type="Gtk.StyleProvider" />
+        <Parameter Name="provider" Type="Gtk.IStyleProvider" />
         <Parameter Name="priority" Type="System.UInt32" />
       </Parameters>
       <Docs>
@@ -76,15 +76,15 @@
       </Docs>
     </Member>
     <Member MemberName="AddProviderForScreen">
-      <MemberSignature Language="C#" Value="public static void AddProviderForScreen (Gdk.Screen screen, Gtk.StyleProvider provider, uint priority);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddProviderForScreen(class Gdk.Screen screen, class Gtk.StyleProvider provider, unsigned int32 priority) cil managed" />
+      <MemberSignature Language="C#" Value="public static void AddProviderForScreen (Gdk.Screen screen, Gtk.IStyleProvider provider, uint priority);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void AddProviderForScreen(class Gdk.Screen screen, class Gtk.IStyleProvider provider, unsigned int32 priority) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="screen" Type="Gdk.Screen" />
-        <Parameter Name="provider" Type="Gtk.StyleProvider" />
+        <Parameter Name="provider" Type="Gtk.IStyleProvider" />
         <Parameter Name="priority" Type="System.UInt32" />
       </Parameters>
       <Docs>
@@ -356,9 +356,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.StyleContext" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -533,8 +533,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.StyleContext.Changed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.StyleContext.Changed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -601,14 +601,14 @@
       </Docs>
     </Member>
     <Member MemberName="RemoveProvider">
-      <MemberSignature Language="C#" Value="public void RemoveProvider (Gtk.StyleProvider provider);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveProvider(class Gtk.StyleProvider provider) cil managed" />
+      <MemberSignature Language="C#" Value="public void RemoveProvider (Gtk.IStyleProvider provider);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveProvider(class Gtk.IStyleProvider provider) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="provider" Type="Gtk.StyleProvider" />
+        <Parameter Name="provider" Type="Gtk.IStyleProvider" />
       </Parameters>
       <Docs>
         <param name="provider">To be added.</param>
@@ -618,15 +618,15 @@
       </Docs>
     </Member>
     <Member MemberName="RemoveProviderForScreen">
-      <MemberSignature Language="C#" Value="public static void RemoveProviderForScreen (Gdk.Screen screen, Gtk.StyleProvider provider);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void RemoveProviderForScreen(class Gdk.Screen screen, class Gtk.StyleProvider provider) cil managed" />
+      <MemberSignature Language="C#" Value="public static void RemoveProviderForScreen (Gdk.Screen screen, Gtk.IStyleProvider provider);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig void RemoveProviderForScreen(class Gdk.Screen screen, class Gtk.IStyleProvider provider) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="screen" Type="Gdk.Screen" />
-        <Parameter Name="provider" Type="Gtk.StyleProvider" />
+        <Parameter Name="provider" Type="Gtk.IStyleProvider" />
       </Parameters>
       <Docs>
         <param name="screen">To be added.</param>
diff --git a/doc/en/Gtk/StyleProperties.xml b/doc/en/Gtk/StyleProperties.xml
index 6b77093..b2069f0 100644
--- a/doc/en/Gtk/StyleProperties.xml
+++ b/doc/en/Gtk/StyleProperties.xml
@@ -1,6 +1,6 @@
 <Type Name="StyleProperties" FullName="Gtk.StyleProperties">
-  <TypeSignature Language="C#" Value="public class StyleProperties : GLib.Object, Gtk.StyleProvider" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit StyleProperties extends GLib.Object implements class GLib.IWrapper, class Gtk.StyleProvider" />
+  <TypeSignature Language="C#" Value="public class StyleProperties : GLib.Object, Gtk.IStyleProvider" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit StyleProperties extends GLib.Object implements class GLib.IWrapper, class Gtk.IStyleProvider" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.StyleProvider</InterfaceName>
+      <InterfaceName>Gtk.IStyleProvider</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -166,9 +166,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.StyleProperties" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/StyleProviderAdapter.xml b/doc/en/Gtk/StyleProviderAdapter.xml
index 26d911f..2bf1e80 100644
--- a/doc/en/Gtk/StyleProviderAdapter.xml
+++ b/doc/en/Gtk/StyleProviderAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="StyleProviderAdapter" FullName="Gtk.StyleProviderAdapter">
-  <TypeSignature Language="C#" Value="public class StyleProviderAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.StyleProvider" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi StyleProviderAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.StyleProvider" />
+  <TypeSignature Language="C#" Value="public class StyleProviderAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IStyleProvider" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi StyleProviderAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IStyleProvider" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.StyleProvider</InterfaceName>
+      <InterfaceName>Gtk.IStyleProvider</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public StyleProviderAdapter (Gtk.StyleProviderImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.StyleProviderImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public StyleProviderAdapter (Gtk.IStyleProviderImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IStyleProviderImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.StyleProviderImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IStyleProviderImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -79,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.StyleProvider GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.StyleProvider GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IStyleProvider GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IStyleProvider GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.StyleProvider</ReturnType>
+        <ReturnType>Gtk.IStyleProvider</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -97,11 +97,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.StyleProvider GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.StyleProvider GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IStyleProvider GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IStyleProvider GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.StyleProvider</ReturnType>
+        <ReturnType>Gtk.IStyleProvider</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -158,9 +158,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -187,11 +201,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.StyleProviderImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.StyleProviderImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IStyleProviderImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IStyleProviderImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.StyleProviderImplementor</ReturnType>
+        <ReturnType>Gtk.IStyleProviderImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/SubmenuDirection.xml b/doc/en/Gtk/SubmenuDirection.xml
deleted file mode 100644
index 59cfdee..0000000
--- a/doc/en/Gtk/SubmenuDirection.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<Type Name="SubmenuDirection" FullName="Gtk.SubmenuDirection">
-  <TypeSignature Language="C#" Value="public enum SubmenuDirection" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration for direction of submenus.</summary>
-    <remarks />
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.SubmenuDirectionGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Left">
-      <MemberSignature Language="C#" Value="Left" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SubmenuDirection</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Left direction.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Right">
-      <MemberSignature Language="C#" Value="Right" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SubmenuDirection</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Right direction.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SubmenuPlacement.xml b/doc/en/Gtk/SubmenuPlacement.xml
deleted file mode 100644
index 2074ec4..0000000
--- a/doc/en/Gtk/SubmenuPlacement.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<Type Name="SubmenuPlacement" FullName="Gtk.SubmenuPlacement">
-  <TypeSignature Language="C#" Value="public enum SubmenuPlacement" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Enumeration for placement of submenus.</summary>
-    <remarks />
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.SubmenuPlacementGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="TopBottom">
-      <MemberSignature Language="C#" Value="TopBottom" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SubmenuPlacement</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Place submenu top-to-bottom.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="LeftRight">
-      <MemberSignature Language="C#" Value="LeftRight" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.SubmenuPlacement</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Place submenu left-to-right.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SubmitArgs.xml b/doc/en/Gtk/SubmitArgs.xml
deleted file mode 100644
index e497c08..0000000
--- a/doc/en/Gtk/SubmitArgs.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<Type Name="SubmitArgs" FullName="Gtk.SubmitArgs">
-  <TypeSignature Language="C#" Value="public class SubmitArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.Submit" /> event invokes <see cref="T:Gtk.SubmitHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public SubmitArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.SubmitArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.SubmitHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Encoding">
-      <MemberSignature Language="C#" Value="public string Encoding { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The text encoding to use for submitting the form.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Url">
-      <MemberSignature Language="C#" Value="public string Url { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The URL to submit the form data to.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Method">
-      <MemberSignature Language="C#" Value="public string Method { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The HTTP method to use for submitting.</summary>
-        <value>A <see cref="T:System.String" /></value>
-        <remarks>Usually GET, POST, or PUT.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/SubmitHandler.xml b/doc/en/Gtk/SubmitHandler.xml
deleted file mode 100644
index ff07798..0000000
--- a/doc/en/Gtk/SubmitHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="SubmitHandler" FullName="Gtk.SubmitHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void SubmitHandler(object o, SubmitArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.Submit" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.SubmitArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.SubmitHandler" /> to an event, add the SubmitHandler instance to the event.  The methods referenced by the SubmitHandler instance are invoked whenever the event is raised, until the SubmitHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.SubmitArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/Switch.xml b/doc/en/Gtk/Switch.xml
index bcca2a8..e822950 100644
--- a/doc/en/Gtk/Switch.xml
+++ b/doc/en/Gtk/Switch.xml
@@ -1,6 +1,6 @@
 <Type Name="Switch" FullName="Gtk.Switch">
-  <TypeSignature Language="C#" Value="public class Switch : Gtk.Widget, Gtk.Activatable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Switch extends Gtk.Widget implements class GLib.IWrapper, class Gtk.Activatable" />
+  <TypeSignature Language="C#" Value="public class Switch : Gtk.Widget, Gtk.IActivatable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Switch extends Gtk.Widget implements class GLib.IWrapper, class Gtk.IActivatable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -87,9 +87,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Switch" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/TargetPair.xml b/doc/en/Gtk/TargetPair.xml
deleted file mode 100644
index 0e9e622..0000000
--- a/doc/en/Gtk/TargetPair.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<Type Name="TargetPair" FullName="Gtk.TargetPair">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public struct TargetPair" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Do not use.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.TargetPair Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TargetPair</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>An empty target.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.TargetPair New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TargetPair</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Constructor for internal use only.</summary>
-        <param name="raw">a <see cref="T:IntPtr" />, pointer to the underlying C structure.</param>
-        <returns>a <see cref="T:Gtk.TargetPair" /></returns>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="target">
-      <MemberSignature Language="C#" Value="public Gdk.Atom target { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Atom</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <value>a <see cref="T:Gdk.Atom" /></value>
-        <remarks />
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Target property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Flags">
-      <MemberSignature Language="C#" Value="public uint Flags;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Info">
-      <MemberSignature Language="C#" Value="public uint Info;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Do not use.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Target">
-      <MemberSignature Language="C#" Value="public Gdk.Atom Target { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gdk.Atom</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/TextBuffer.xml b/doc/en/Gtk/TextBuffer.xml
index 4e15fe5..0167eea 100644
--- a/doc/en/Gtk/TextBuffer.xml
+++ b/doc/en/Gtk/TextBuffer.xml
@@ -1750,8 +1750,8 @@ public class TextBufferExample
       </Parameters>
       <Docs>
         <param name="clipboard">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.TextBuffer.PasteDone" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TextBuffer.PasteDone" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/TextIter.xml b/doc/en/Gtk/TextIter.xml
index ffc2ef8..8855e56 100644
--- a/doc/en/Gtk/TextIter.xml
+++ b/doc/en/Gtk/TextIter.xml
@@ -599,36 +599,18 @@ You do not want to use this function to decide whether text can be inserted at i
         <remarks>Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms).</remarks>
       </Docs>
     </Member>
-    <Member MemberName="Equal">
-      <MemberSignature Language="C#" Value="public bool Equal (Gtk.TextIter rhs);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool Equal(valuetype Gtk.TextIter rhs) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="rhs" Type="Gtk.TextIter" />
-      </Parameters>
-      <Docs>
-        <param name="rhs">another <see cref="T:Gtk.TextIter" /></param>
-        <summary>Tests whether two iterators are equal, using the fastest possible mechanism.</summary>
-        <returns>
-          <see langword="true" /> if the iterators point to the same place in the buffer</returns>
-        <remarks>This function is very fast; you can expect it to perform better than e.g. getting the character offset for each iterator and comparing the offsets yourself. Also, it's a bit faster than <see cref="M:Gtk.TextIter.Compare()" />.</remarks>
-      </Docs>
-    </Member>
     <Member MemberName="Equals">
-      <MemberSignature Language="C#" Value="public bool Equals (Gtk.TextIter other);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype Gtk.TextIter other) cil managed" />
+      <MemberSignature Language="C#" Value="public bool Equals (Gtk.TextIter rhs);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype Gtk.TextIter rhs) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="other" Type="Gtk.TextIter" />
+        <Parameter Name="rhs" Type="Gtk.TextIter" />
       </Parameters>
       <Docs>
-        <param name="other">To be added.</param>
+        <param name="rhs">To be added.</param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
diff --git a/doc/en/Gtk/TextView.xml b/doc/en/Gtk/TextView.xml
index 324c7d9..b739078 100644
--- a/doc/en/Gtk/TextView.xml
+++ b/doc/en/Gtk/TextView.xml
@@ -1,6 +1,6 @@
 <Type Name="TextView" FullName="Gtk.TextView">
-  <TypeSignature Language="C#" Maintainer="duncan" Value="public class TextView : Gtk.Container, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TextView extends Gtk.Container implements class GLib.IWrapper, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Maintainer="duncan" Value="public class TextView : Gtk.Container, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TextView extends Gtk.Container implements class GLib.IWrapper, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -1117,8 +1117,8 @@ class TextViewSample
       <Docs>
         <param name="p0">To be added.</param>
         <param name="p1">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.TextView.MoveViewport" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TextView.MoveViewport" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1178,8 +1178,8 @@ class TextViewSample
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.TextView.PreeditChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TextView.PreeditChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1200,8 +1200,8 @@ class TextViewSample
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.TextView.SelectAll" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TextView.SelectAll" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -1237,8 +1237,8 @@ class TextViewSample
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.TextView.ToggleCursorVisible" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TextView.ToggleCursorVisible" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ThemingEngine.xml b/doc/en/Gtk/ThemingEngine.xml
index 8f0974a..dba5ef8 100644
--- a/doc/en/Gtk/ThemingEngine.xml
+++ b/doc/en/Gtk/ThemingEngine.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -269,9 +269,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ThemingEngine" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Timeline.xml b/doc/en/Gtk/Timeline.xml
index c2cbe8f..507e423 100644
--- a/doc/en/Gtk/Timeline.xml
+++ b/doc/en/Gtk/Timeline.xml
@@ -33,9 +33,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -146,8 +146,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Timeline.Finished" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Timeline.Finished" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -168,8 +168,8 @@
       </Parameters>
       <Docs>
         <param name="progress">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Timeline.Frame" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Timeline.Frame" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -187,8 +187,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Timeline.Paused" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Timeline.Paused" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -206,8 +206,8 @@
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Timeline.Started" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Timeline.Started" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/Timeout.xml b/doc/en/Gtk/Timeout.xml
deleted file mode 100644
index 15de109..0000000
--- a/doc/en/Gtk/Timeout.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<Type Name="Timeout" FullName="Gtk.Timeout">
-  <TypeSignature Language="C#" Value="public class Timeout" Maintainer="John Luke" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Registers a method to be called periodically.</summary>
-    <remarks>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Object</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete("Replaced by GLib.Timeout")</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Add">
-      <MemberSignature Language="C#" Value="public static uint Add (uint interval, Gtk.Function function);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="interval" Type="System.UInt32" />
-        <Parameter Name="function" Type="Gtk.Function" />
-      </Parameters>
-      <Docs>
-        <summary>Registers a <paramref name="function" /> to be called periodically.</summary>
-        <param name="interval">number of miliseconds between function calls</param>
-        <param name="function">delegate that will be called until it return false</param>
-        <returns>a <see cref="T:System.UInt32" /></returns>
-        <remarks>The <paramref name="function" /> will be called repeatedly after <paramref name="interval" /> milliseconds until it returns <see langword="false" /> at which point the <see cref="T:Gtk.Timeout" /> is destroyed and will not be called again.
-<block subset="none" type="note"><para>
-	The first execution of the callback <paramref name="function" /> will only occur after the <paramref name="interval" /> has elapsed. In other words, it won't be executed right away after calling <see cref="T:Gtk.Timeout.Add" />.
-  </para></block></remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="AddFull">
-      <MemberSignature Language="C#" Value="public static uint AddFull (uint interval, Gtk.Function function, Gtk.CallbackMarshal marshal, IntPtr data, Gtk.DestroyNotify destroy);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="interval" Type="System.UInt32" />
-        <Parameter Name="function" Type="Gtk.Function" />
-        <Parameter Name="marshal" Type="Gtk.CallbackMarshal" />
-        <Parameter Name="data" Type="System.IntPtr" />
-        <Parameter Name="destroy" Type="Gtk.DestroyNotify" />
-      </Parameters>
-      <Docs>
-        <summary>Registers a <paramref name="function" /> to be called periodically.</summary>
-        <param name="interval">a <see cref="T:System.UInt32" /></param>
-        <param name="function">a <see cref="T:Gtk.Function" /></param>
-        <param name="marshal">a <see cref="T:Gtk.CallbackMarshal" /></param>
-        <param name="data">a <see cref="T:System.IntPtr" /></param>
-        <param name="destroy">a <see cref="T:Gtk.DestroyNotify" /></param>
-        <returns>a <see cref="T:System.UInt32" /></returns>
-        <remarks>The <paramref name="function" /> will be called repeatedly after <paramref name="interval" /> milliseconds until it returns <see langword="false" /> at which point the <see cref="T:Gtk.Timeout" /> is destroyed and will not be called again.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Remove">
-      <MemberSignature Language="C#" Value="public static void Remove (uint timeout_handler_id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="timeout_handler_id" Type="System.UInt32" />
-      </Parameters>
-      <Docs>
-        <summary>Removes the given timeout destroying all information about it.</summary>
-        <param name="timeout_handler_id">a <see cref="T:System.UInt32" /></param>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Timeout ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Internal Constructor</summary>
-        <remarks>This should not be called directly by typical applications.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/TitleChangedArgs.xml b/doc/en/Gtk/TitleChangedArgs.xml
deleted file mode 100644
index 91acd49..0000000
--- a/doc/en/Gtk/TitleChangedArgs.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<Type Name="TitleChangedArgs" FullName="Gtk.TitleChangedArgs">
-  <TypeSignature Language="C#" Value="public class TitleChangedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.TitleChanged" /> event invokes <see cref="T:Gtk.TitleChangedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TitleChangedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.TitleChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.TitleChangedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NewTitle">
-      <MemberSignature Language="C#" Value="public string NewTitle { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Holds the new title for the window.</summary>
-        <value>the new title.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/TitleChangedHandler.xml b/doc/en/Gtk/TitleChangedHandler.xml
deleted file mode 100644
index 2327e7a..0000000
--- a/doc/en/Gtk/TitleChangedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="TitleChangedHandler" FullName="Gtk.TitleChangedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TitleChangedHandler(object o, TitleChangedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.TitleChanged" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.TitleChangedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.TitleChangedHandler" /> to an event, add the TitleChangedHandler instance to the event.  The methods referenced by the TitleChangedHandler instance are invoked whenever the event is raised, until the TitleChangedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.TitleChangedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/ToolItem.xml b/doc/en/Gtk/ToolItem.xml
index 6f4a1bc..85a5383 100644
--- a/doc/en/Gtk/ToolItem.xml
+++ b/doc/en/Gtk/ToolItem.xml
@@ -1,6 +1,6 @@
 <Type Name="ToolItem" FullName="Gtk.ToolItem">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class ToolItem : Gtk.Bin, Gtk.Activatable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ToolItem extends Gtk.Bin implements class GLib.IWrapper, class Gtk.Activatable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class ToolItem : Gtk.Bin, Gtk.IActivatable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ToolItem extends Gtk.Bin implements class GLib.IWrapper, class Gtk.IActivatable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,7 +11,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Activatable</InterfaceName>
+      <InterfaceName>Gtk.IActivatable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/ToolItemGroup.xml b/doc/en/Gtk/ToolItemGroup.xml
index 869ab4e..07b9297 100644
--- a/doc/en/Gtk/ToolItemGroup.xml
+++ b/doc/en/Gtk/ToolItemGroup.xml
@@ -1,6 +1,6 @@
 <Type Name="ToolItemGroup" FullName="Gtk.ToolItemGroup">
-  <TypeSignature Language="C#" Value="public class ToolItemGroup : Gtk.Container, Gtk.ToolShell" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ToolItemGroup extends Gtk.Container implements class GLib.IWrapper, class Gtk.ToolShell" />
+  <TypeSignature Language="C#" Value="public class ToolItemGroup : Gtk.Container, Gtk.IToolShell" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ToolItemGroup extends Gtk.Container implements class GLib.IWrapper, class Gtk.IToolShell" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.ToolShell</InterfaceName>
+      <InterfaceName>Gtk.IToolShell</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -26,9 +26,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -162,9 +162,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ToolItemGroup" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ToolPalette.xml b/doc/en/Gtk/ToolPalette.xml
index fe6cf48..5064e91 100644
--- a/doc/en/Gtk/ToolPalette.xml
+++ b/doc/en/Gtk/ToolPalette.xml
@@ -1,6 +1,6 @@
 <Type Name="ToolPalette" FullName="Gtk.ToolPalette">
-  <TypeSignature Language="C#" Value="public class ToolPalette : Gtk.Container, Gtk.Orientable, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ToolPalette extends Gtk.Container implements class GLib.IWrapper, class Gtk.Orientable, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Value="public class ToolPalette : Gtk.Container, Gtk.IOrientable, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ToolPalette extends Gtk.Container implements class GLib.IWrapper, class Gtk.IOrientable, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,10 +9,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -40,9 +40,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -231,9 +231,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.ToolPalette" />.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ToolShellAdapter.xml b/doc/en/Gtk/ToolShellAdapter.xml
index cf299d8..262cbca 100644
--- a/doc/en/Gtk/ToolShellAdapter.xml
+++ b/doc/en/Gtk/ToolShellAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="ToolShellAdapter" FullName="Gtk.ToolShellAdapter">
-  <TypeSignature Language="C#" Value="public class ToolShellAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ToolShell" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi ToolShellAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ToolShell" />
+  <TypeSignature Language="C#" Value="public class ToolShellAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.IToolShell" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi ToolShellAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.IToolShell" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.ToolShell</InterfaceName>
+      <InterfaceName>Gtk.IToolShell</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -33,11 +33,11 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public ToolShellAdapter (Gtk.ToolShellImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ToolShellImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public ToolShellAdapter (Gtk.IToolShellImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.IToolShellImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.ToolShellImplementor" />
+        <Parameter Name="implementor" Type="Gtk.IToolShellImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
@@ -75,11 +75,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.ToolShell GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ToolShell GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IToolShell GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IToolShell GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.ToolShell</ReturnType>
+        <ReturnType>Gtk.IToolShell</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -93,11 +93,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.ToolShell GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ToolShell GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.IToolShell GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.IToolShell GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.ToolShell</ReturnType>
+        <ReturnType>Gtk.IToolShell</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -112,9 +112,23 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -155,11 +169,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.ToolShellImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ToolShellImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.IToolShellImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.IToolShellImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.ToolShellImplementor</ReturnType>
+        <ReturnType>Gtk.IToolShellImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/Toolbar.xml b/doc/en/Gtk/Toolbar.xml
index 9445b58..1fb5f64 100644
--- a/doc/en/Gtk/Toolbar.xml
+++ b/doc/en/Gtk/Toolbar.xml
@@ -1,6 +1,6 @@
 <Type Name="Toolbar" FullName="Gtk.Toolbar">
-  <TypeSignature Language="C#" Maintainer="Duncan Mak" Value="public class Toolbar : Gtk.Container, Gtk.Orientable, Gtk.ToolShell" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Toolbar extends Gtk.Container implements class GLib.IWrapper, class Gtk.Orientable, class Gtk.ToolShell" />
+  <TypeSignature Language="C#" Maintainer="Duncan Mak" Value="public class Toolbar : Gtk.Container, Gtk.IOrientable, Gtk.IToolShell" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Toolbar extends Gtk.Container implements class GLib.IWrapper, class Gtk.IOrientable, class Gtk.IToolShell" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,10 +12,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Orientable</InterfaceName>
+      <InterfaceName>Gtk.IOrientable</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.ToolShell</InterfaceName>
+      <InterfaceName>Gtk.IToolShell</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -170,9 +170,9 @@
         <since version="Gtk# 2.4" />
       </Docs>
     </Member>
-    <Member MemberName="Gtk.ToolShell.IconSize">
-      <MemberSignature Language="C#" Value="Gtk.IconSize Gtk.ToolShell.IconSize { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.IconSize Gtk.ToolShell.IconSize" />
+    <Member MemberName="Gtk.IToolShell.IconSize">
+      <MemberSignature Language="C#" Value="Gtk.IconSize Gtk.IToolShell.IconSize { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.IconSize Gtk.IToolShell.IconSize" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.IconSize</ReturnType>
@@ -184,9 +184,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Gtk.ToolShell.Orientation">
-      <MemberSignature Language="C#" Value="Gtk.Orientation Gtk.ToolShell.Orientation { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.Orientation Gtk.ToolShell.Orientation" />
+    <Member MemberName="Gtk.IToolShell.Orientation">
+      <MemberSignature Language="C#" Value="Gtk.Orientation Gtk.IToolShell.Orientation { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.Orientation Gtk.IToolShell.Orientation" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.Orientation</ReturnType>
@@ -198,9 +198,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Gtk.ToolShell.ReliefStyle">
-      <MemberSignature Language="C#" Value="Gtk.ReliefStyle Gtk.ToolShell.ReliefStyle { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.ReliefStyle Gtk.ToolShell.ReliefStyle" />
+    <Member MemberName="Gtk.IToolShell.ReliefStyle">
+      <MemberSignature Language="C#" Value="Gtk.ReliefStyle Gtk.IToolShell.ReliefStyle { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.ReliefStyle Gtk.IToolShell.ReliefStyle" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.ReliefStyle</ReturnType>
@@ -212,9 +212,9 @@
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
-    <Member MemberName="Gtk.ToolShell.Style">
-      <MemberSignature Language="C#" Value="Gtk.ToolbarStyle Gtk.ToolShell.Style { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.ToolbarStyle Gtk.ToolShell.Style" />
+    <Member MemberName="Gtk.IToolShell.Style">
+      <MemberSignature Language="C#" Value="Gtk.ToolbarStyle Gtk.IToolShell.Style { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype Gtk.ToolbarStyle Gtk.IToolShell.Style" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.ToolbarStyle</ReturnType>
@@ -356,9 +356,9 @@
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.Toolbar.FocusHomeOrEnd" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Toolbar.FocusHomeOrEnd" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/ToolbarChildType.xml b/doc/en/Gtk/ToolbarChildType.xml
deleted file mode 100644
index 5df36ab..0000000
--- a/doc/en/Gtk/ToolbarChildType.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<Type Name="ToolbarChildType" FullName="Gtk.ToolbarChildType">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public enum ToolbarChildType" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Set the type of new elements that are added to a <see cref="T:Gtk.Toolbar" />.</summary>
-    <remarks>
-      <see cref="T:Gtk.ToolbarChildType" /> is used to set the type of new elements that are added to a <see cref="T:Gtk.Toolbar" />.</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.ToolbarChildTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Space">
-      <MemberSignature Language="C#" Value="Space" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ToolbarChildType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Add blank space to the toolbar.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Button">
-      <MemberSignature Language="C#" Value="Button" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ToolbarChildType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Add buttons to the toolbar.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Togglebutton">
-      <MemberSignature Language="C#" Value="Togglebutton" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ToolbarChildType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Add toggle buttons to the toolbar.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Radiobutton">
-      <MemberSignature Language="C#" Value="Radiobutton" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ToolbarChildType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Add radio buttons to the toolbar.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Widget">
-      <MemberSignature Language="C#" Value="Widget" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.ToolbarChildType</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Add widgets to the toolbar.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/Tooltip.xml b/doc/en/Gtk/Tooltip.xml
index c1020f8..8073cd7 100644
--- a/doc/en/Gtk/Tooltip.xml
+++ b/doc/en/Gtk/Tooltip.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Custom">
@@ -58,9 +58,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Tooltip" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Icon">
@@ -90,14 +90,14 @@
       </Docs>
     </Member>
     <Member MemberName="SetIconFromGicon">
-      <MemberSignature Language="C#" Value="public void SetIconFromGicon (GLib.Icon gicon, Gtk.IconSize size);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetIconFromGicon(class GLib.Icon gicon, valuetype Gtk.IconSize size) cil managed" />
+      <MemberSignature Language="C#" Value="public void SetIconFromGicon (GLib.IIcon gicon, Gtk.IconSize size);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void SetIconFromGicon(class GLib.IIcon gicon, valuetype Gtk.IconSize size) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="gicon" Type="GLib.Icon" />
+        <Parameter Name="gicon" Type="GLib.IIcon" />
         <Parameter Name="size" Type="Gtk.IconSize" />
       </Parameters>
       <Docs>
diff --git a/doc/en/Gtk/TooltipSetArgs.xml b/doc/en/Gtk/TooltipSetArgs.xml
deleted file mode 100644
index f810669..0000000
--- a/doc/en/Gtk/TooltipSetArgs.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<Type Name="TooltipSetArgs" FullName="Gtk.TooltipSetArgs">
-  <TypeSignature Language="C#" Value="public class TooltipSetArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.ToolItem.TooltipSet" /> event invokes <see cref="T:Gtk.TooltipSetHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TooltipSetArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.TooltipSetArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.TooltipSetHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tooltips">
-      <MemberSignature Language="C#" Value="public Gtk.Tooltips Tooltips { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Tooltips</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The tooltips group.</summary>
-        <value>a <see cref="T:Gtk.Tooltips" /></value>
-        <remarks>(XXX: should this be the entire tooltips group, or just the tooltip that was set?)</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TipText">
-      <MemberSignature Language="C#" Value="public string TipText { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The public tooltip text that was set.</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="TipPrivate">
-      <MemberSignature Language="C#" Value="public string TipPrivate { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>The private/detail tooltip text that was set.</summary>
-        <value>a <see cref="T:System.String" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/TooltipSetHandler.xml b/doc/en/Gtk/TooltipSetHandler.xml
deleted file mode 100644
index 615c835..0000000
--- a/doc/en/Gtk/TooltipSetHandler.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<Type Name="TooltipSetHandler" FullName="Gtk.TooltipSetHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TooltipSetHandler(object o, TooltipSetArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">Event sender.</param>
-    <param name="args">Event arguments.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.ToolItem.TooltipSet" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.TooltipSetArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.TooltipSetHandler" /> to an event, add the TooltipSetHandler instance to the event.  The methods referenced by the TooltipSetHandler instance are invoked whenever the event is raised, until the TooltipSetHandler is removed from the event.</para>
-    </remarks>
-    <since version="Gtk# 2.4" />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.TooltipSetArgs" />
-  </Parameters>
-</Type>
diff --git a/doc/en/Gtk/Tooltips.xml b/doc/en/Gtk/Tooltips.xml
deleted file mode 100644
index c12b284..0000000
--- a/doc/en/Gtk/Tooltips.xml
+++ /dev/null
@@ -1,231 +0,0 @@
-<Type Name="Tooltips" FullName="Gtk.Tooltips">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class Tooltips : Gtk.Object" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Add Tooltips to your widgets.</summary>
-    <remarks>
-      <para>Tooltips are the messages that appear next to a widget when the mouse pointer is held over it for a short amount of time.
-				They are especially helpful for adding more verbose descriptions of things such as <see cref="T:Gtk.Button" /> in a toolbar.</para>
-      <para>An individual tooltip belongs to a group of tooltips.
-				A group is created by calling the constructor <see cref="C:Gtk.Tooltips()" />.
-				Every tooltip in the group can then be turned off with <see cref="M:Gtk.Tooltips.Disable()" /> and on with <see cref="M:Gtk.Tooltips.Enable()" />.</para>
-      <para>To assign a tip to a particular <see cref="T:Gtk.Widget" />, <see cref="M:Gtk.Tooltips.SetTip(Gtk.Widget,System.String,System.String)" /> is used.</para>
-      <para>Note: Tooltips can only be set on widgets which have their own X window.
-				To add a tooltip to a <see cref="T:Gtk.Widget" /> that does not have its own <see cref="T:Gtk.Window" />, place the widget inside a <see cref="T:Gtk.EventBox" /> and add a tooltip to that instead.</para>
-      <para>The default appearance of all tooltips in a program is determined by the current Gtk theme that the user has selected.</para>
-      <example>
-        <code lang="C#">
-using Gtk;
- 
-class ToolTipsExample
-{
-        static void Main()
-        {
- 
-                Application.Init();
- 
-                Window win = new Window("Tooltips");
-                Button load_button, save_button;
-                HBox hbox;
-                Tooltips button_bar_tips;
-    
-                button_bar_tips = new Tooltips ();
-    
-                // Create the buttons and pack them into a Gtk.HBox
-                hbox = new HBox (true, 2);
-                win.Add(hbox);
- 
-                load_button = new Button ("Load a file");
-                hbox.Add(load_button);
-    
-                save_button = new Button ("Save a file");
-                hbox.Add(save_button);
-    
-                // Add the tips
-                button_bar_tips.SetTip (load_button,
-                        "Load a new document into this window",
-                        "longer explanation");
-                
-		button_bar_tips.SetTip (save_button,
-                        "Saves the current document to a file",
-                        "longer explanation");
-                
-		win.ShowAll();
-                Application.Run();
-        }
-}
-				</code>
-      </example>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Object</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName="Enable">
-      <MemberSignature Language="C#" Value="public void Enable ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Allows the user to see your tooltips as they navigate your application.</summary>
-        <remarks>Allows the user to see your tooltips as they navigate your application.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Disable">
-      <MemberSignature Language="C#" Value="public void Disable ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Causes all tooltips in the tooltips group to become inactive.</summary>
-        <remarks>Causes all tooltips in the tooltips group to become inactive.
-					Any widgets that have tips associated with that group will no longer display their tips until they are enabled again with <see cref="M:Gtk.Tooltips.Enable()" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ForceWindow">
-      <MemberSignature Language="C#" Value="public void ForceWindow ();" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Ensures that the window used for displaying the given tooltip is created.</summary>
-        <remarks>Ensures that the window used for displaying the given tooltip is created.
-					(Applications should never have to call this function, since Gtk# takes care of this.) </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="SetTip">
-      <MemberSignature Language="C#" Value="public void SetTip (Gtk.Widget widget, string tip_text, string tip_private);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Void</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="widget" Type="Gtk.Widget" />
-        <Parameter Name="tip_text" Type="System.String" />
-        <Parameter Name="tip_private" Type="System.String" />
-      </Parameters>
-      <Docs>
-        <summary>Adds a tooltip containing the specified message to the specified <see cref="T:Gtk.Widget" />.</summary>
-        <param name="widget">an object of type <see cref="T:Gtk.Widget" /></param>
-        <param name="tip_text">an object of type <see cref="System.String" /></param>
-        <param name="tip_private">an object of type <see cref="System.String" /></param>
-        <remarks>Adds a tooltip containing the specified message to the specified <see cref="T:Gtk.Widget" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Tooltips (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Tooltips ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates an empty group of tooltips.</summary>
-        <remarks>Creates an empty group of tooltips. This function initializes a <see cref="T:Gtk.TooltipsData" /> structure.
-					Without at least one such structure, you can not add individual tips to your application.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Tooltips" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected Tooltips (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="Delay">
-      <MemberSignature Language="C#" Value="public uint Delay { set; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.UInt32</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>Number of milliseconds of mouse-hover before tooltips pop up.</summary>
-        <value>a <see cref="T:System.UInt32" /></value>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-    <Member MemberName="GetInfoFromTipWindow">
-      <MemberSignature Language="C#" Value="public static bool GetInfoFromTipWindow (Gtk.Window tip_window, Gtk.Tooltips tooltips, Gtk.Widget current_widget);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="tip_window" Type="Gtk.Window" />
-        <Parameter Name="tooltips" Type="Gtk.Tooltips" />
-        <Parameter Name="current_widget" Type="Gtk.Widget" />
-      </Parameters>
-      <Docs>
-        <summary> Determines the tooltips and the widget they belong 
-	  to from the window in which they are displayed. </summary>
-        <param name="tip_window">a <see cref="T:Gtk.Window" /></param>
-        <param name="tooltips">a <see cref="T:Gtk.Tooltips" /></param>
-        <param name="current_widget">a <see cref="T:Gtk.Widget" /></param>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>This function is mostly intended for use by 
-	  accessibility technologies; applications should have little use for 
-	  it.</remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-</Type>
diff --git a/doc/en/Gtk/TooltipsData.xml b/doc/en/Gtk/TooltipsData.xml
deleted file mode 100644
index 3e932f7..0000000
--- a/doc/en/Gtk/TooltipsData.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<Type Name="TooltipsData" FullName="Gtk.TooltipsData">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public struct TooltipsData" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>The data needed for a <see cref="T:Gtk.Tooltips" /> object.</summary>
-    <remarks>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gtk.TooltipsData Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TooltipsData</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>A <see cref="T:Gtk.TooltipsData" /> with default values.</summary>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Get">
-      <MemberSignature Language="C#" Value="public static Gtk.TooltipsData Get (Gtk.Widget widget);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TooltipsData</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="widget" Type="Gtk.Widget" />
-      </Parameters>
-      <Docs>
-        <summary>Gets the <see cref="T:Gtk.TooltipsData" /> associated with <paramref name="widget" />.</summary>
-        <param name="widget">an object of type <see cref="T:Gtk.Widget" /></param>
-        <returns>an object of type <see cref="T:Gtk.TooltipsData" /></returns>
-        <remarks>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gtk.TooltipsData New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.TooltipsData</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Creates a new TooltipsData object.</summary>
-        <param name="raw">an object of type <see cref="T:System.IntPtr" /></param>
-        <returns>an object of type <see cref="T:Gtk.TooltipsData" /></returns>
-        <remarks>This is not typically used directly by applications.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="widget">
-      <MemberSignature Language="C#" Value="public Gtk.Widget widget { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The <see cref="T:Gtk.Widget" /> that this <see cref="T:Gtk.TooltipsData" /> is associated with.</summary>
-        <value>an object of type <see cref="T:Gtk.Widget" /></value>
-        <remarks>
-        </remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Widget property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="tooltips">
-      <MemberSignature Language="C#" Value="public Gtk.Tooltips tooltips { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Tooltips</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Generates a Tooltips object out of this data.</summary>
-        <value>an object of type <see cref="T:Gtk.Tooltips" /></value>
-        <remarks>To be added.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete("Replaced by Tooltips property.")</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-    <Member MemberName="TipText">
-      <MemberSignature Language="C#" Value="public string TipText;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>A string containing the tooltip message.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="TipPrivate">
-      <MemberSignature Language="C#" Value="public string TipPrivate;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>A string that is not shown as the default tooltip.</summary>
-        <remarks>
-          <para>
-	  Instead, this message may be more informative and go towards forming a context-sensitive help system for your application. (FIXME: how to actually "switch on" private tips?)
-	  </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Tooltips">
-      <MemberSignature Language="C#" Value="public Gtk.Tooltips Tooltips { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Tooltips</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Widget">
-      <MemberSignature Language="C#" Value="public Gtk.Widget Widget { set; get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.Widget</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
-      </Docs>
-    </Member>
-  </Members>
-  <Attributes>
-    <Attribute>
-      <AttributeName>System.Obsolete</AttributeName>
-    </Attribute>
-  </Attributes>
-</Type>
diff --git a/doc/en/Gtk/Tree.xml b/doc/en/Gtk/Tree.xml
index 13c6a06..9e3fd69 100644
--- a/doc/en/Gtk/Tree.xml
+++ b/doc/en/Gtk/Tree.xml
@@ -35,46 +35,47 @@
       </Docs>
     </Member>
     <Member MemberName="GetRowDragData">
-      <MemberSignature Language="C#" Value="public static bool GetRowDragData (Gtk.SelectionData selection_data, out Gtk.TreeModel tree_model, out Gtk.TreePath path);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool GetRowDragData(class Gtk.SelectionData selection_data, class Gtk.TreeModel tree_model, class Gtk.TreePath path) cil managed" />
+      <MemberSignature Language="C#" Value="public static bool GetRowDragData (Gtk.SelectionData selection_data, out Gtk.ITreeModel tree_model, out Gtk.TreePath path);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool GetRowDragData(class Gtk.SelectionData selection_data, class Gtk.ITreeModel tree_model, class Gtk.TreePath path) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="selection_data" Type="Gtk.SelectionData" />
-        <Parameter Name="tree_model" Type="Gtk.TreeModel&" RefType="out" />
+        <Parameter Name="tree_model" Type="Gtk.ITreeModel&" RefType="out" />
         <Parameter Name="path" Type="Gtk.TreePath&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="selection_data">a <see cref="T:Gtk.SelectionData" /></param>
-        <param name="tree_model">a <see cref="T:Gtk.TreeModel" /></param>
-        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
-        <summary>Gets row information from a Drag Selection.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks>
-        </remarks>
+        <param name="selection_data">To be added.</param>
+        <param name="tree_model">To be added.</param>
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="SetRowDragData">
-      <MemberSignature Language="C#" Value="public static bool SetRowDragData (Gtk.SelectionData selection_data, Gtk.TreeModel tree_model, Gtk.TreePath path);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool SetRowDragData(class Gtk.SelectionData selection_data, class Gtk.TreeModel tree_model, class Gtk.TreePath path) cil managed" />
+      <MemberSignature Language="C#" Value="public static bool SetRowDragData (Gtk.SelectionData selection_data, Gtk.ITreeModel tree_model, Gtk.TreePath path);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool SetRowDragData(class Gtk.SelectionData selection_data, class Gtk.ITreeModel tree_model, class Gtk.TreePath path) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="selection_data" Type="Gtk.SelectionData" />
-        <Parameter Name="tree_model" Type="Gtk.TreeModel" />
+        <Parameter Name="tree_model" Type="Gtk.ITreeModel" />
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="selection_data">a <see cref="T:Gtk.SelectionData" /></param>
-        <param name="tree_model">a <see cref="T:Gtk.TreeModel" /></param>
-        <param name="path">a <see cref="T:Gtk.TreePath" /></param>
-        <summary>Deprecated.</summary>
-        <returns>a <see cref="T:System.Boolean" /></returns>
-        <remarks />
+        <param name="selection_data">To be added.</param>
+        <param name="tree_model">To be added.</param>
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/TreeCellDataFunc.xml b/doc/en/Gtk/TreeCellDataFunc.xml
index 53d0003..be0ae12 100644
--- a/doc/en/Gtk/TreeCellDataFunc.xml
+++ b/doc/en/Gtk/TreeCellDataFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeCellDataFunc" FullName="Gtk.TreeCellDataFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TreeCellDataFunc(TreeViewColumn tree_column, CellRenderer cell, TreeModel tree_model, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TreeCellDataFunc(TreeViewColumn tree_column, CellRenderer cell, ITreeModel tree_model, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeCellDataFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -11,7 +11,7 @@
   <Parameters>
     <Parameter Name="tree_column" Type="Gtk.TreeViewColumn" />
     <Parameter Name="cell" Type="Gtk.CellRenderer" />
-    <Parameter Name="tree_model" Type="Gtk.TreeModel" />
+    <Parameter Name="tree_model" Type="Gtk.ITreeModel" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
   <ReturnValue>
diff --git a/doc/en/Gtk/TreeDragDest.xml b/doc/en/Gtk/TreeDragDest.xml
deleted file mode 100644
index 3c6c338..0000000
--- a/doc/en/Gtk/TreeDragDest.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<Type Name="TreeDragDest" FullName="Gtk.TreeDragDest">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public interface TreeDragDest : GLib.IWrapper" />
-  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract TreeDragDest implements class GLib.IWrapper" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Interfaces>
-    <Interface>
-      <InterfaceName>GLib.IWrapper</InterfaceName>
-    </Interface>
-  </Interfaces>
-  <Docs>
-    <summary>An interface to represent the rows of a tree when something is drag-and-dropped onto them.</summary>
-    <remarks />
-  </Docs>
-  <Members>
-    <Member MemberName="DragDataReceived">
-      <MemberSignature Language="C#" Value="public bool DragDataReceived (Gtk.TreePath dest, Gtk.SelectionData selection_data);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool DragDataReceived(class Gtk.TreePath dest, class Gtk.SelectionData selection_data) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dest" Type="Gtk.TreePath" />
-        <Parameter Name="selection_data" Type="Gtk.SelectionData" />
-      </Parameters>
-      <Docs>
-        <param name="dest">To be added.</param>
-        <param name="selection_data"> a  <see cref="M:Gtk.SelectionData" />, the data to drop</param>
-        <summary>
-	  Asks the TreeDragDest to insert a row before the given <paramref name="dest_path" />, deriving the contents of the row from the given <see cref="M:Gtk.SelectionData" />.
-	</summary>
-        <returns>A boolean for whether the row was dropped successfully.</returns>
-        <remarks>If dest_path is outside the tree so that inserting before it is impossible, FALSE will be returned. Also, FALSE may be returned if the new row cannot be created for some model-specific reason. Should robustly handle a destination path no longer found in the model.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RowDropPossible">
-      <MemberSignature Language="C#" Value="public bool RowDropPossible (Gtk.TreePath dest_path, Gtk.SelectionData selection_data);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool RowDropPossible(class Gtk.TreePath dest_path, class Gtk.SelectionData selection_data) cil managed" />
-      <MemberType>Method</MemberType>
-      <ReturnValue>
-        <ReturnType>System.Boolean</ReturnType>
-      </ReturnValue>
-      <Parameters>
-        <Parameter Name="dest_path" Type="Gtk.TreePath" />
-        <Parameter Name="selection_data" Type="Gtk.SelectionData" />
-      </Parameters>
-      <Docs>
-        <param name="dest_path">To be added.</param>
-        <param name="selection_data">a <see cref="M:Gtk.SelectionData" />, the data to drop</param>
-        <summary>
-	  Determines whether a drop is possible before the given <paramref name="dest" />, at the same depth as <paramref name="dest" />. i.e., can we drop the data in <paramref name="selection_data" /> at that location. <paramref name="dest" /> does not have to exist; the return value will almost certainly be FALSE if the parent of <paramref name="dest" /> doesn't exist, though.
-</summary>
-        <returns>A boolean for whether the drop is possible.</returns>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/TreeDragDestAdapter.xml b/doc/en/Gtk/TreeDragDestAdapter.xml
index f06e396..74567e6 100644
--- a/doc/en/Gtk/TreeDragDestAdapter.xml
+++ b/doc/en/Gtk/TreeDragDestAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeDragDestAdapter" FullName="Gtk.TreeDragDestAdapter">
-  <TypeSignature Language="C#" Value="public class TreeDragDestAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.TreeDragDest" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeDragDestAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.TreeDragDest" />
+  <TypeSignature Language="C#" Value="public class TreeDragDestAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ITreeDragDest" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeDragDestAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ITreeDragDest" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeDragDest</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragDest</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeDragDestAdapter (Gtk.TreeDragDestImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeDragDestImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeDragDestAdapter (Gtk.ITreeDragDestImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeDragDestImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.TreeDragDestImplementor" />
+        <Parameter Name="implementor" Type="Gtk.ITreeDragDestImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -78,11 +79,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeDragDest GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeDragDest GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeDragDest GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeDragDest GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeDragDest</ReturnType>
+        <ReturnType>Gtk.ITreeDragDest</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -96,11 +97,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeDragDest GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeDragDest GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeDragDest GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeDragDest GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeDragDest</ReturnType>
+        <ReturnType>Gtk.ITreeDragDest</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -112,11 +113,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -143,11 +159,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.TreeDragDestImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeDragDestImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeDragDestImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeDragDestImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeDragDestImplementor</ReturnType>
+        <ReturnType>Gtk.ITreeDragDestImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/TreeDragSourceAdapter.xml b/doc/en/Gtk/TreeDragSourceAdapter.xml
index 06ee251..9275d9e 100644
--- a/doc/en/Gtk/TreeDragSourceAdapter.xml
+++ b/doc/en/Gtk/TreeDragSourceAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeDragSourceAdapter" FullName="Gtk.TreeDragSourceAdapter">
-  <TypeSignature Language="C#" Value="public class TreeDragSourceAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.TreeDragSource" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeDragSourceAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.TreeDragSource" />
+  <TypeSignature Language="C#" Value="public class TreeDragSourceAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ITreeDragSource" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeDragSourceAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ITreeDragSource" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeDragSource</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragSource</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeDragSourceAdapter (Gtk.TreeDragSourceImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeDragSourceImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeDragSourceAdapter (Gtk.ITreeDragSourceImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeDragSourceImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.TreeDragSourceImplementor" />
+        <Parameter Name="implementor" Type="Gtk.ITreeDragSourceImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -95,11 +96,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeDragSource GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeDragSource GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeDragSource GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeDragSource GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeDragSource</ReturnType>
+        <ReturnType>Gtk.ITreeDragSource</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -113,11 +114,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeDragSource GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeDragSource GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeDragSource GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeDragSource GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeDragSource</ReturnType>
+        <ReturnType>Gtk.ITreeDragSource</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -129,11 +130,26 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -160,11 +176,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.TreeDragSourceImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeDragSourceImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeDragSourceImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeDragSourceImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeDragSourceImplementor</ReturnType>
+        <ReturnType>Gtk.ITreeDragSourceImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/TreeIterCompareFunc.xml b/doc/en/Gtk/TreeIterCompareFunc.xml
index 75c90d9..4878c58 100644
--- a/doc/en/Gtk/TreeIterCompareFunc.xml
+++ b/doc/en/Gtk/TreeIterCompareFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeIterCompareFunc" FullName="Gtk.TreeIterCompareFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate int TreeIterCompareFunc(TreeModel model, TreeIter a, TreeIter b);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate int TreeIterCompareFunc(ITreeModel model, TreeIter a, TreeIter b);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeIterCompareFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -9,7 +9,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="a" Type="Gtk.TreeIter" />
     <Parameter Name="b" Type="Gtk.TreeIter" />
   </Parameters>
diff --git a/doc/en/Gtk/TreeMenu.xml b/doc/en/Gtk/TreeMenu.xml
index 5ef4f53..49c1da8 100644
--- a/doc/en/Gtk/TreeMenu.xml
+++ b/doc/en/Gtk/TreeMenu.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeMenu" FullName="Gtk.TreeMenu">
-  <TypeSignature Language="C#" Value="public class TreeMenu : Gtk.Menu, Gtk.CellLayout" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeMenu extends Gtk.Menu implements class GLib.IWrapper, class Gtk.CellLayout" />
+  <TypeSignature Language="C#" Value="public class TreeMenu : Gtk.Menu, Gtk.ICellLayout" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeMenu extends Gtk.Menu implements class GLib.IWrapper, class Gtk.ICellLayout" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -9,7 +9,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -37,9 +37,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -180,8 +180,8 @@
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -189,7 +189,7 @@
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
@@ -215,8 +215,8 @@
       </Parameters>
       <Docs>
         <param name="p0">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.TreeMenu.MenuActivate" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.TreeMenu.MenuActivate" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/TreeMenuHeaderFunc.xml b/doc/en/Gtk/TreeMenuHeaderFunc.xml
index 7b2186c..6668833 100644
--- a/doc/en/Gtk/TreeMenuHeaderFunc.xml
+++ b/doc/en/Gtk/TreeMenuHeaderFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeMenuHeaderFunc" FullName="Gtk.TreeMenuHeaderFunc">
-  <TypeSignature Language="C#" Value="public delegate bool TreeMenuHeaderFunc(TreeModel model, TreeIter iter);" />
+  <TypeSignature Language="C#" Value="public delegate bool TreeMenuHeaderFunc(ITreeModel model, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeMenuHeaderFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -8,7 +8,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
   <ReturnValue>
diff --git a/doc/en/Gtk/TreeModelAdapter.xml b/doc/en/Gtk/TreeModelAdapter.xml
index 17dd8cb..d80527a 100644
--- a/doc/en/Gtk/TreeModelAdapter.xml
+++ b/doc/en/Gtk/TreeModelAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeModelAdapter" FullName="Gtk.TreeModelAdapter">
-  <TypeSignature Language="C#" Value="public class TreeModelAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.TreeModel" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeModelAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.TreeModel" />
+  <TypeSignature Language="C#" Value="public class TreeModelAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ITreeModel" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeModelAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ITreeModel" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeModel</InterfaceName>
+      <InterfaceName>Gtk.ITreeModel</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeModelAdapter (Gtk.TreeModelImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModelImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeModelAdapter (Gtk.ITreeModelImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModelImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.TreeModelImplementor" />
+        <Parameter Name="implementor" Type="Gtk.ITreeModelImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -251,11 +252,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeModel GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeModel GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeModel GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeModel GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -269,11 +270,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeModel GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeModel GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeModel GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeModel GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -285,6 +286,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetPath">
@@ -378,9 +380,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -407,11 +423,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModelImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModelImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModelImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModelImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModelImplementor</ReturnType>
+        <ReturnType>Gtk.ITreeModelImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/TreeModelFilter.xml b/doc/en/Gtk/TreeModelFilter.xml
index 950e5f0..1a6cd88 100644
--- a/doc/en/Gtk/TreeModelFilter.xml
+++ b/doc/en/Gtk/TreeModelFilter.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeModelFilter" FullName="Gtk.TreeModelFilter">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class TreeModelFilter : GLib.Object, Gtk.TreeDragSource, Gtk.TreeModel" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeModelFilter extends GLib.Object implements class GLib.IWrapper, class Gtk.TreeDragSource, class Gtk.TreeModel" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class TreeModelFilter : GLib.Object, Gtk.ITreeDragSource, Gtk.ITreeModel" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeModelFilter extends GLib.Object implements class GLib.IWrapper, class Gtk.ITreeDragSource, class Gtk.ITreeModel" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 71 EB 6C 55 75 52 9C BF 72 44 F7 A6 EA 05 62 84 F9 EA E0 3B CF F2 CC 13 2C 9C 49 0A B3 09 EA B0 B5 6B CE 44 9D F5 03 D9 C0 A8 1E 52 05 85 CD BE 70 E2 FB 90 43 4B AC 04 FA 62 22 A8 00 98 B7 A1 A7 B3 AF 99 1A 41 23 24 BB 43 25 F6 B8 65 BB 64 EB F6 D1 C2 06 D5 73 2D DF BC 70 A7 38 9E E5 3E 0C 24 6E 32 79 74 1A D0 05 03 E4 98 42 E1 9B F3 7B 19 8B 40 21 26 CB 36 89 C2 EA 64  [...]
@@ -11,10 +11,10 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.TreeDragSource</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragSource</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeModel</InterfaceName>
+      <InterfaceName>Gtk.ITreeModel</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -111,24 +111,24 @@ public class MyWindow : Window
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeModelFilter (Gtk.TreeModel child_model, Gtk.TreePath root);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModel child_model, class Gtk.TreePath root) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeModelFilter (Gtk.ITreeModel child_model, Gtk.TreePath root);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModel child_model, class Gtk.TreePath root) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="child_model" Type="Gtk.TreeModel" />
+        <Parameter Name="child_model" Type="Gtk.ITreeModel" />
         <Parameter Name="root" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="child_model">a <see cref="T:Gtk.TreeModel" />, the model this object is to filter</param>
-        <param name="root">a <see cref="T:Gtk.TreePath" />, the node to use as the model's root node, pass null to use the entire child tree model.</param>
-        <summary>Constructor</summary>
-        <remarks />
+        <param name="child_model">To be added.</param>
+        <param name="root">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="ChildModel">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel ChildModel { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel ChildModel" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel ChildModel { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel ChildModel" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -136,7 +136,7 @@ public class MyWindow : Window
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -762,11 +762,11 @@ public class MyWindow : Window
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
@@ -790,8 +790,8 @@ public class MyWindow : Window
       </Docs>
     </Member>
     <Member MemberName="OnModify">
-      <MemberSignature Language="C#" Value="protected virtual void OnModify (Gtk.TreeModel child_model, Gtk.TreeIter iter, GLib.Value value, int column);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnModify(class Gtk.TreeModel child_model, valuetype Gtk.TreeIter iter, valuetype GLib.Value value, int32 column) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual void OnModify (Gtk.ITreeModel child_model, Gtk.TreeIter iter, GLib.Value value, int column);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnModify(class Gtk.ITreeModel child_model, valuetype Gtk.TreeIter iter, valuetype GLib.Value value, int32 column) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -802,7 +802,7 @@ public class MyWindow : Window
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="child_model" Type="Gtk.TreeModel" />
+        <Parameter Name="child_model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
         <Parameter Name="value" Type="GLib.Value" />
         <Parameter Name="column" Type="System.Int32" />
@@ -963,8 +963,8 @@ public class MyWindow : Window
       </Docs>
     </Member>
     <Member MemberName="OnVisible">
-      <MemberSignature Language="C#" Value="protected virtual bool OnVisible (Gtk.TreeModel child_model, Gtk.TreeIter iter);" />
-      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnVisible(class Gtk.TreeModel child_model, valuetype Gtk.TreeIter iter) cil managed" />
+      <MemberSignature Language="C#" Value="protected virtual bool OnVisible (Gtk.ITreeModel child_model, Gtk.TreeIter iter);" />
+      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnVisible(class Gtk.ITreeModel child_model, valuetype Gtk.TreeIter iter) cil managed" />
       <MemberType>Method</MemberType>
       <Attributes>
         <Attribute>
@@ -975,7 +975,7 @@ public class MyWindow : Window
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="child_model" Type="Gtk.TreeModel" />
+        <Parameter Name="child_model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
       </Parameters>
       <Docs>
diff --git a/doc/en/Gtk/TreeModelFilterModifyFunc.xml b/doc/en/Gtk/TreeModelFilterModifyFunc.xml
index 589c6c4..70c456d 100644
--- a/doc/en/Gtk/TreeModelFilterModifyFunc.xml
+++ b/doc/en/Gtk/TreeModelFilterModifyFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeModelFilterModifyFunc" FullName="Gtk.TreeModelFilterModifyFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TreeModelFilterModifyFunc(TreeModel model, TreeIter iter, ref Value value, int column);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TreeModelFilterModifyFunc(ITreeModel model, TreeIter iter, ref Value value, int column);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeModelFilterModifyFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -10,7 +10,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
     <Parameter Name="value" Type="GLib.Value&" RefType="ref" />
     <Parameter Name="column" Type="System.Int32" />
diff --git a/doc/en/Gtk/TreeModelFilterVisibleFunc.xml b/doc/en/Gtk/TreeModelFilterVisibleFunc.xml
index 43f49c1..f8847fd 100644
--- a/doc/en/Gtk/TreeModelFilterVisibleFunc.xml
+++ b/doc/en/Gtk/TreeModelFilterVisibleFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeModelFilterVisibleFunc" FullName="Gtk.TreeModelFilterVisibleFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeModelFilterVisibleFunc(TreeModel model, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeModelFilterVisibleFunc(ITreeModel model, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeModelFilterVisibleFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -10,7 +10,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
   <ReturnValue>
diff --git a/doc/en/Gtk/TreeModelForeachFunc.xml b/doc/en/Gtk/TreeModelForeachFunc.xml
index bf880a9..19436fd 100644
--- a/doc/en/Gtk/TreeModelForeachFunc.xml
+++ b/doc/en/Gtk/TreeModelForeachFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeModelForeachFunc" FullName="Gtk.TreeModelForeachFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeModelForeachFunc(TreeModel model, TreePath path, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeModelForeachFunc(ITreeModel model, TreePath path, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeModelForeachFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -9,7 +9,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="path" Type="Gtk.TreePath" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
diff --git a/doc/en/Gtk/TreeModelSort.xml b/doc/en/Gtk/TreeModelSort.xml
index c7f83ed..ac771cd 100644
--- a/doc/en/Gtk/TreeModelSort.xml
+++ b/doc/en/Gtk/TreeModelSort.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeModelSort" FullName="Gtk.TreeModelSort">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class TreeModelSort : GLib.Object, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeModelSort extends GLib.Object implements class GLib.IWrapper, class Gtk.TreeDragSource, class Gtk.TreeModel, class Gtk.TreeSortable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class TreeModelSort : GLib.Object, Gtk.ITreeDragSource, Gtk.ITreeModel, Gtk.ITreeSortable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeModelSort extends GLib.Object implements class GLib.IWrapper, class Gtk.ITreeDragSource, class Gtk.ITreeModel, class Gtk.ITreeSortable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,13 +12,13 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.TreeDragSource</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragSource</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeModel</InterfaceName>
+      <InterfaceName>Gtk.ITreeModel</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeSortable</InterfaceName>
+      <InterfaceName>Gtk.ITreeSortable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -27,17 +27,17 @@
   </Docs>
   <Members>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeModelSort (Gtk.TreeModel child_model);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModel child_model) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeModelSort (Gtk.ITreeModel child_model);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModel child_model) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="child_model" Type="Gtk.TreeModel" />
+        <Parameter Name="child_model" Type="Gtk.ITreeModel" />
       </Parameters>
       <Docs>
-        <param name="child_model">A <see cref="Gtk.TreeModel" />, the child model for the new object.</param>
-        <summary>Constructor.</summary>
-        <remarks>FIXME: needs more explanation.</remarks>
+        <param name="child_model">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -777,8 +777,8 @@ node is always the parent.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -786,7 +786,7 @@ node is always the parent.</remarks>
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/TreeRowReference.xml b/doc/en/Gtk/TreeRowReference.xml
index ff9a7ae..40be1f5 100644
--- a/doc/en/Gtk/TreeRowReference.xml
+++ b/doc/en/Gtk/TreeRowReference.xml
@@ -34,37 +34,37 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeRowReference (Gtk.TreeModel model, Gtk.TreePath path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModel model, class Gtk.TreePath path) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeRowReference (Gtk.ITreeModel model, Gtk.TreePath path);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModel model, class Gtk.TreePath path) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="model">an object of type <see cref="T:Gtk.TreeModel" /></param>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
-        <summary>Do not use.</summary>
-        <remarks>Do not use.</remarks>
+        <param name="model">To be added.</param>
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeRowReference (GLib.Object proxy, Gtk.TreeModel model, Gtk.TreePath path);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Object proxy, class Gtk.TreeModel model, class Gtk.TreePath path) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeRowReference (GLib.Object proxy, Gtk.ITreeModel model, Gtk.TreePath path);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class GLib.Object proxy, class Gtk.ITreeModel model, class Gtk.TreePath path) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
         <Parameter Name="proxy" Type="GLib.Object" />
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
         <Parameter Name="path" Type="Gtk.TreePath" />
       </Parameters>
       <Docs>
-        <param name="proxy">an object of type <see cref="T:GLib.Object" /></param>
-        <param name="model">an object of type <see cref="T:Gtk.TreeModel" /></param>
-        <param name="path">an object of type <see cref="T:Gtk.TreePath" /></param>
-        <summary>Do not use.</summary>
-        <remarks>Do not use.</remarks>
+        <param name="proxy">To be added.</param>
+        <param name="model">To be added.</param>
+        <param name="path">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Copy">
@@ -181,11 +181,11 @@
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>Do not use.</summary>
diff --git a/doc/en/Gtk/TreeSelection.xml b/doc/en/Gtk/TreeSelection.xml
index f03537f..2deba27 100644
--- a/doc/en/Gtk/TreeSelection.xml
+++ b/doc/en/Gtk/TreeSelection.xml
@@ -149,25 +149,23 @@ class Selection
       </Docs>
     </Member>
     <Member MemberName="GetSelected">
-      <MemberSignature Language="C#" Value="public bool GetSelected (out Gtk.TreeModel model, out Gtk.TreeIter iter);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool GetSelected(class Gtk.TreeModel model, valuetype Gtk.TreeIter iter) cil managed" />
+      <MemberSignature Language="C#" Value="public bool GetSelected (out Gtk.ITreeModel model, out Gtk.TreeIter iter);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool GetSelected(class Gtk.ITreeModel model, valuetype Gtk.TreeIter iter) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel&" RefType="out" />
+        <Parameter Name="model" Type="Gtk.ITreeModel&" RefType="out" />
         <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="model">A convenient accessor to the <see cref="T:Gtk.TreeModel" /> that this TreeSelection's <see cref="T:Gtk.TreeView" /> is associated with.</param>
-        <param name="iter">The position that was selected.</param>
-        <summary>Get information about the currently selected node.</summary>
-        <returns>
-          <see langword="true" /> if a row was selected.</returns>
-        <remarks>
-          <para>This method will not work if the TreeSelection <see cref="P:Gtk.TreeSelection.Mode" /> has been set to <see cref="P:Gtk.SelectionMode.Multiple" />. In that case you should use <see cref="M:Gtk.TreeSelection.SelectedForeach(Gtk.TreeSelectionForEach)" />.</para>
-        </remarks>
+        <param name="model">To be added.</param>
+        <param name="iter">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSelectedRows">
@@ -186,20 +184,21 @@ class Selection
       </Docs>
     </Member>
     <Member MemberName="GetSelectedRows">
-      <MemberSignature Language="C#" Value="public Gtk.TreePath[] GetSelectedRows (out Gtk.TreeModel model);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.TreePath[] GetSelectedRows(class Gtk.TreeModel model) cil managed" />
+      <MemberSignature Language="C#" Value="public Gtk.TreePath[] GetSelectedRows (out Gtk.ITreeModel model);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.TreePath[] GetSelectedRows(class Gtk.ITreeModel model) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>Gtk.TreePath[]</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel&" RefType="out" />
+        <Parameter Name="model" Type="Gtk.ITreeModel&" RefType="out" />
       </Parameters>
       <Docs>
-        <param name="model">The model the <see cref="T:Gtk.TreeView" /> is bound to.</param>
-        <summary>Returns an array of <see cref="T:Gtk.TreePath" />s representing the selected rows.</summary>
-        <returns>Selected rows in an array of <see cref="T:Gtk.TreePath" />s</returns>
-        <remarks />
+        <param name="model">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GType">
diff --git a/doc/en/Gtk/TreeSelectionForeachFunc.xml b/doc/en/Gtk/TreeSelectionForeachFunc.xml
index a045ae9..1e39dcc 100644
--- a/doc/en/Gtk/TreeSelectionForeachFunc.xml
+++ b/doc/en/Gtk/TreeSelectionForeachFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeSelectionForeachFunc" FullName="Gtk.TreeSelectionForeachFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TreeSelectionForeachFunc(TreeModel model, TreePath path, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void TreeSelectionForeachFunc(ITreeModel model, TreePath path, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeSelectionForeachFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -9,7 +9,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="path" Type="Gtk.TreePath" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
diff --git a/doc/en/Gtk/TreeSelectionFunc.xml b/doc/en/Gtk/TreeSelectionFunc.xml
index e432a88..481a3fe 100644
--- a/doc/en/Gtk/TreeSelectionFunc.xml
+++ b/doc/en/Gtk/TreeSelectionFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeSelectionFunc" FullName="Gtk.TreeSelectionFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeSelectionFunc(TreeSelection selection, TreeModel model, TreePath path, bool path_currently_selected);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeSelectionFunc(TreeSelection selection, ITreeModel model, TreePath path, bool path_currently_selected);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeSelectionFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -10,7 +10,7 @@
   </Base>
   <Parameters>
     <Parameter Name="selection" Type="Gtk.TreeSelection" />
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="path" Type="Gtk.TreePath" />
     <Parameter Name="path_currently_selected" Type="System.Boolean" />
   </Parameters>
diff --git a/doc/en/Gtk/TreeSortableAdapter.xml b/doc/en/Gtk/TreeSortableAdapter.xml
index f974852..82841cc 100644
--- a/doc/en/Gtk/TreeSortableAdapter.xml
+++ b/doc/en/Gtk/TreeSortableAdapter.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeSortableAdapter" FullName="Gtk.TreeSortableAdapter">
-  <TypeSignature Language="C#" Value="public class TreeSortableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.TreeSortable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeSortableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.TreeSortable" />
+  <TypeSignature Language="C#" Value="public class TreeSortableAdapter : GLib.GInterfaceAdapter, GLib.IWrapper, Gtk.ITreeSortable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi TreeSortableAdapter extends GLib.GInterfaceAdapter implements class GLib.IWrapper, class Gtk.ITreeSortable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
   </AssemblyInfo>
@@ -12,7 +12,7 @@
       <InterfaceName>GLib.IWrapper</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeSortable</InterfaceName>
+      <InterfaceName>Gtk.ITreeSortable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -32,16 +32,17 @@
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeSortableAdapter (Gtk.TreeSortableImplementor implementor);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeSortableImplementor implementor) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeSortableAdapter (Gtk.ITreeSortableImplementor implementor);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeSortableImplementor implementor) cil managed" />
       <MemberType>Constructor</MemberType>
       <Parameters>
-        <Parameter Name="implementor" Type="Gtk.TreeSortableImplementor" />
+        <Parameter Name="implementor" Type="Gtk.ITreeSortableImplementor" />
       </Parameters>
       <Docs>
         <param name="implementor">To be added.</param>
         <summary>To be added.</summary>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -85,11 +86,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeSortable GetObject (GLib.Object obj);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeSortable GetObject(class GLib.Object obj) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeSortable GetObject (GLib.Object obj);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeSortable GetObject(class GLib.Object obj) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeSortable</ReturnType>
+        <ReturnType>Gtk.ITreeSortable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="obj" Type="GLib.Object" />
@@ -103,11 +104,11 @@
       </Docs>
     </Member>
     <Member MemberName="GetObject">
-      <MemberSignature Language="C#" Value="public static Gtk.TreeSortable GetObject (IntPtr handle, bool owned);" />
-      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.TreeSortable GetObject(native int handle, bool owned) cil managed" />
+      <MemberSignature Language="C#" Value="public static Gtk.ITreeSortable GetObject (IntPtr handle, bool owned);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class Gtk.ITreeSortable GetObject(native int handle, bool owned) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeSortable</ReturnType>
+        <ReturnType>Gtk.ITreeSortable</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="handle" Type="System.IntPtr" />
@@ -119,6 +120,7 @@
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetSortColumnId">
@@ -140,9 +142,23 @@
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
+    <Member MemberName="GInterfaceGType">
+      <MemberSignature Language="C#" Value="public override GLib.GType GInterfaceGType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GInterfaceGType" />
+      <MemberType>Property</MemberType>
+      <ReturnValue>
+        <ReturnType>GLib.GType</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
+      </Docs>
+    </Member>
     <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public override GLib.GType GType { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance valuetype GLib.GType GType" />
+      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property valuetype GLib.GType GType" />
       <MemberType>Property</MemberType>
       <ReturnValue>
         <ReturnType>GLib.GType</ReturnType>
@@ -182,11 +198,11 @@
       </Docs>
     </Member>
     <Member MemberName="Implementor">
-      <MemberSignature Language="C#" Value="public Gtk.TreeSortableImplementor Implementor { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeSortableImplementor Implementor" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeSortableImplementor Implementor { get; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeSortableImplementor Implementor" />
       <MemberType>Property</MemberType>
       <ReturnValue>
-        <ReturnType>Gtk.TreeSortableImplementor</ReturnType>
+        <ReturnType>Gtk.ITreeSortableImplementor</ReturnType>
       </ReturnValue>
       <Docs>
         <summary>To be added.</summary>
diff --git a/doc/en/Gtk/TreeStore.xml b/doc/en/Gtk/TreeStore.xml
index dc5c6b3..181c10f 100644
--- a/doc/en/Gtk/TreeStore.xml
+++ b/doc/en/Gtk/TreeStore.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeStore" FullName="Gtk.TreeStore">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class TreeStore : GLib.Object, Gtk.TreeDragDest, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeStore extends GLib.Object implements class GLib.IWrapper, class Gtk.TreeDragDest, class Gtk.TreeDragSource, class Gtk.TreeModel, class Gtk.TreeSortable" />
+  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class TreeStore : GLib.Object, Gtk.ITreeDragDest, Gtk.ITreeDragSource, Gtk.ITreeModel, Gtk.ITreeSortable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeStore extends GLib.Object implements class GLib.IWrapper, class Gtk.ITreeDragDest, class Gtk.ITreeDragSource, class Gtk.ITreeModel, class Gtk.ITreeSortable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,16 +12,16 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.TreeDragDest</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragDest</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeDragSource</InterfaceName>
+      <InterfaceName>Gtk.ITreeDragSource</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeModel</InterfaceName>
+      <InterfaceName>Gtk.ITreeModel</InterfaceName>
     </Interface>
     <Interface>
-      <InterfaceName>Gtk.TreeSortable</InterfaceName>
+      <InterfaceName>Gtk.ITreeSortable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/TreeView.xml b/doc/en/Gtk/TreeView.xml
index 9e2cd38..ea57023 100644
--- a/doc/en/Gtk/TreeView.xml
+++ b/doc/en/Gtk/TreeView.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeView" FullName="Gtk.TreeView">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public class TreeView : Gtk.Container, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeView extends Gtk.Container implements class GLib.IWrapper, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public class TreeView : Gtk.Container, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeView extends Gtk.Container implements class GLib.IWrapper, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -223,17 +223,17 @@ public class TreeViewDemo {
       </Docs>
     </Member>
     <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public TreeView (Gtk.TreeModel model);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.TreeModel model) cil managed" />
+      <MemberSignature Language="C#" Value="public TreeView (Gtk.ITreeModel model);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Gtk.ITreeModel model) cil managed" />
       <MemberType>Constructor</MemberType>
-      <ReturnValue />
       <Parameters>
-        <Parameter Name="model" Type="Gtk.TreeModel" />
+        <Parameter Name="model" Type="Gtk.ITreeModel" />
       </Parameters>
       <Docs>
-        <param name="model">an object of type <see cref="T:Gtk.TreeModel" /></param>
-        <summary>Creates a new <see cref="T:Gtk.TreeView" /> object.</summary>
-        <remarks>In this constructor the <see cref="P:Gtk.TreeView.Model" /> is set from <paramref name="model" />.</remarks>
+        <param name="model">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName=".ctor">
@@ -1155,17 +1155,17 @@ class MainClass
       </Docs>
     </Member>
     <Member MemberName="GetTooltipContext">
-      <MemberSignature Language="C#" Value="public bool GetTooltipContext (out int x, out int y, bool keyboard_tip, out Gtk.TreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool GetTooltipContext(int32 x, int32 y, bool keyboard_tip, class Gtk.TreeModel model, class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
+      <MemberSignature Language="C#" Value="public bool GetTooltipContext (ref int x, ref int y, bool keyboard_tip, out Gtk.ITreeModel model, out Gtk.TreePath path, out Gtk.TreeIter iter);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool GetTooltipContext(int32 x, int32 y, bool keyboard_tip, class Gtk.ITreeModel model, class Gtk.TreePath path, valuetype Gtk.TreeIter iter) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Boolean</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="x" Type="System.Int32&" RefType="out" />
-        <Parameter Name="y" Type="System.Int32&" RefType="out" />
+        <Parameter Name="x" Type="System.Int32&" RefType="ref" />
+        <Parameter Name="y" Type="System.Int32&" RefType="ref" />
         <Parameter Name="keyboard_tip" Type="System.Boolean" />
-        <Parameter Name="model" Type="Gtk.TreeModel&" RefType="out" />
+        <Parameter Name="model" Type="Gtk.ITreeModel&" RefType="out" />
         <Parameter Name="path" Type="Gtk.TreePath&" RefType="out" />
         <Parameter Name="iter" Type="Gtk.TreeIter&" RefType="out" />
       </Parameters>
@@ -1179,7 +1179,7 @@ class MainClass
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>To be added.</remarks>
-        <since version="Gtk# 2.12" />
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="GetVisibleRange">
@@ -1497,8 +1497,8 @@ class MainClass
       </Docs>
     </Member>
     <Member MemberName="Model">
-      <MemberSignature Language="C#" Value="public Gtk.TreeModel Model { get; set; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.TreeModel Model" />
+      <MemberSignature Language="C#" Value="public Gtk.ITreeModel Model { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.ITreeModel Model" />
       <MemberType>Property</MemberType>
       <Attributes>
         <Attribute>
@@ -1506,7 +1506,7 @@ class MainClass
         </Attribute>
       </Attributes>
       <ReturnValue>
-        <ReturnType>Gtk.TreeModel</ReturnType>
+        <ReturnType>Gtk.ITreeModel</ReturnType>
       </ReturnValue>
       <Parameters>
       </Parameters>
diff --git a/doc/en/Gtk/TreeViewColumn.xml b/doc/en/Gtk/TreeViewColumn.xml
index d0d27ab..c8b5c42 100644
--- a/doc/en/Gtk/TreeViewColumn.xml
+++ b/doc/en/Gtk/TreeViewColumn.xml
@@ -1,6 +1,6 @@
 <Type Name="TreeViewColumn" FullName="Gtk.TreeViewColumn">
-  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class TreeViewColumn : GLib.InitiallyUnowned, Gtk.CellLayout" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeViewColumn extends GLib.InitiallyUnowned implements class GLib.IWrapper, class Gtk.CellLayout" />
+  <TypeSignature Language="C#" Maintainer="John Luke" Value="public class TreeViewColumn : GLib.InitiallyUnowned, Gtk.ICellLayout" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit TreeViewColumn extends GLib.InitiallyUnowned implements class GLib.IWrapper, class Gtk.ICellLayout" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.CellLayout</InterfaceName>
+      <InterfaceName>Gtk.ICellLayout</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
@@ -256,20 +256,6 @@
         </remarks>
       </Docs>
     </Member>
-    <Member MemberName="CellRenderers">
-      <MemberSignature Language="C#" Value="public Gtk.CellRenderer[] CellRenderers { get; }" />
-      <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellRenderer[] CellRenderers" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.CellRenderer[]</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Returns a list of all the <see cref="T:Gtk.CellRenderer" />s in the column, in no particular order.</summary>
-        <value>An array of  <see cref="T:Gtk.CellRenderer[]" />s.</value>
-        <remarks />
-      </Docs>
-    </Member>
     <Member MemberName="Cells">
       <MemberSignature Language="C#" Value="public Gtk.CellRenderer[] Cells { get; }" />
       <MemberSignature Language="ILAsm" Value=".property instance class Gtk.CellRenderer[] Cells" />
@@ -285,25 +271,26 @@
       </Docs>
     </Member>
     <Member MemberName="CellSetCellData">
-      <MemberSignature Language="C#" Value="public void CellSetCellData (Gtk.TreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void CellSetCellData(class Gtk.TreeModel tree_model, valuetype Gtk.TreeIter iter, bool is_expander, bool is_expanded) cil managed" />
+      <MemberSignature Language="C#" Value="public void CellSetCellData (Gtk.ITreeModel tree_model, Gtk.TreeIter iter, bool is_expander, bool is_expanded);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void CellSetCellData(class Gtk.ITreeModel tree_model, valuetype Gtk.TreeIter iter, bool is_expander, bool is_expanded) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
         <ReturnType>System.Void</ReturnType>
       </ReturnValue>
       <Parameters>
-        <Parameter Name="tree_model" Type="Gtk.TreeModel" />
+        <Parameter Name="tree_model" Type="Gtk.ITreeModel" />
         <Parameter Name="iter" Type="Gtk.TreeIter" />
         <Parameter Name="is_expander" Type="System.Boolean" />
         <Parameter Name="is_expanded" Type="System.Boolean" />
       </Parameters>
       <Docs>
-        <param name="tree_model">an object of type <see cref="T:Gtk.TreeModel" /></param>
-        <param name="iter">an object of type <see cref="T:Gtk.TreeIter" /></param>
-        <param name="is_expander">an object of type <see cref="T:System.Boolean" /></param>
-        <param name="is_expanded">an object of type <see cref="T:System.Boolean" /></param>
-        <summary>Sets the cell renderer based on the <paramref name="tree_model" /> and <paramref name="iter" />.</summary>
-        <remarks>That is, for every attribute mapping in <see cref="T:Gtk.TreeViewColumn" />, it will get a value from the set column on the <paramref name="iter" />, and use that value to set the attribute on the cell renderer. This is used primarily by the <see cref="T:Gtk.TreeView" />.</remarks>
+        <param name="tree_model">To be added.</param>
+        <param name="iter">To be added.</param>
+        <param name="is_expander">To be added.</param>
+        <param name="is_expanded">To be added.</param>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+        <since version="Gtk# 3.0" />
       </Docs>
     </Member>
     <Member MemberName="Clear">
diff --git a/doc/en/Gtk/TreeViewRowSeparatorFunc.xml b/doc/en/Gtk/TreeViewRowSeparatorFunc.xml
index d2f5077..7a19a52 100644
--- a/doc/en/Gtk/TreeViewRowSeparatorFunc.xml
+++ b/doc/en/Gtk/TreeViewRowSeparatorFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeViewRowSeparatorFunc" FullName="Gtk.TreeViewRowSeparatorFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeViewRowSeparatorFunc(TreeModel model, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeViewRowSeparatorFunc(ITreeModel model, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeViewRowSeparatorFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -10,7 +10,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
   </Parameters>
   <ReturnValue>
diff --git a/doc/en/Gtk/TreeViewSearchEqualFunc.xml b/doc/en/Gtk/TreeViewSearchEqualFunc.xml
index 9074ec0..6383ff3 100644
--- a/doc/en/Gtk/TreeViewSearchEqualFunc.xml
+++ b/doc/en/Gtk/TreeViewSearchEqualFunc.xml
@@ -1,5 +1,5 @@
 <Type Name="TreeViewSearchEqualFunc" FullName="Gtk.TreeViewSearchEqualFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeViewSearchEqualFunc(TreeModel model, int column, string key, TreeIter iter);" />
+  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate bool TreeViewSearchEqualFunc(ITreeModel model, int column, string key, TreeIter iter);" />
   <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed TreeViewSearchEqualFunc extends System.MulticastDelegate" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
@@ -9,7 +9,7 @@
     <BaseTypeName>System.Delegate</BaseTypeName>
   </Base>
   <Parameters>
-    <Parameter Name="model" Type="Gtk.TreeModel" />
+    <Parameter Name="model" Type="Gtk.ITreeModel" />
     <Parameter Name="column" Type="System.Int32" />
     <Parameter Name="key" Type="System.String" />
     <Parameter Name="iter" Type="Gtk.TreeIter" />
diff --git a/doc/en/Gtk/UpdateCustomWidgetArgs.xml b/doc/en/Gtk/UpdateCustomWidgetArgs.xml
index 0075613..c547c1f 100644
--- a/doc/en/Gtk/UpdateCustomWidgetArgs.xml
+++ b/doc/en/Gtk/UpdateCustomWidgetArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.PrintOperation.UpdateCustomWidget" /> event invokes <see cref="T:Gtk.UpdateCustomWidgetHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.UpdateCustomWidgetArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.UpdateCustomWidgetHandler" /> delegate.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
diff --git a/doc/en/Gtk/UpdateCustomWidgetHandler.xml b/doc/en/Gtk/UpdateCustomWidgetHandler.xml
index d7e4c19..39c1c4e 100644
--- a/doc/en/Gtk/UpdateCustomWidgetHandler.xml
+++ b/doc/en/Gtk/UpdateCustomWidgetHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.PrintOperation.UpdateCustomWidget" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.UpdateCustomWidgetArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.UpdateCustomWidgetHandler" /> to an event, add the UpdateCustomWidgetHandler instance to the event.  The methods referenced by the UpdateCustomWidgetHandler instance are invoked whenever the event is raised, until the UpdateCustomWidgetHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 3.0" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/UpdateType.xml b/doc/en/Gtk/UpdateType.xml
deleted file mode 100644
index 33fd972..0000000
--- a/doc/en/Gtk/UpdateType.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<Type Name="UpdateType" FullName="Gtk.UpdateType">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public enum UpdateType" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Provides a method of indicating how 'updates' should occur.</summary>
-    <remarks>
-      <para>The purpose of this type is most easily explained in the context of its use. <see cref="T:Gtk.Range" />, a base class for slider widgets such as <see cref="T:Gtk.HScale" />, uses an UpdateType to determine how often to update a text value when the user is dragging a slider bar around.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.UpdateTypeGType))</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Continuous">
-      <MemberSignature Language="C#" Value="Continuous" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.UpdateType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that updates should occur as soon as possible.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Discontinuous">
-      <MemberSignature Language="C#" Value="Discontinuous" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.UpdateType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that updates are not urgent.</summary>
-        <remarks>
-          <para>This typically indicates that a whole group of updates can be done at once when a user action has finished.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Delayed">
-      <MemberSignature Language="C#" Value="Delayed" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.UpdateType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>Indicates that updates should happen as often as possible, but a delay between an action and its update, is allowed.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/UrlRequestedArgs.xml b/doc/en/Gtk/UrlRequestedArgs.xml
deleted file mode 100644
index 45d7358..0000000
--- a/doc/en/Gtk/UrlRequestedArgs.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<Type Name="UrlRequestedArgs" FullName="Gtk.UrlRequestedArgs">
-  <TypeSignature Language="C#" Value="public class UrlRequestedArgs : GLib.SignalArgs" Maintainer="auto" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Event data.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.UrlRequested" /> event invokes <see cref="T:Gtk.UrlRequestedHandler" /> delegates which pass event data via this class.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>GLib.SignalArgs</BaseTypeName>
-  </Base>
-  <Interfaces />
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public UrlRequestedArgs ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Public Constructor.</summary>
-        <remarks>Create a new <see cref="T:Gtk.UrlRequestedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.UrlRequestedHandler" /> delegate.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Handle">
-      <MemberSignature Language="C#" Value="public Gtk.HTMLStream Handle { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.HTMLStream</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>An object for the HTML from the URL as it opens.</summary>
-        <value>a <see cref="T:Gtk.HTMLStream" /></value>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="Url">
-      <MemberSignature Language="C#" Value="public string Url { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>System.String</ReturnType>
-      </ReturnValue>
-      <Docs>
-        <summary>The URL that was requested.</summary>
-        <value>A string containing the URL.</value>
-        <remarks />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/UrlRequestedHandler.xml b/doc/en/Gtk/UrlRequestedHandler.xml
deleted file mode 100644
index 34f6f46..0000000
--- a/doc/en/Gtk/UrlRequestedHandler.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="UrlRequestedHandler" FullName="Gtk.UrlRequestedHandler">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void UrlRequestedHandler(object o, UrlRequestedArgs args);" />
-  <AssemblyInfo>
-    <AssemblyName>gtkhtml-sharp</AssemblyName>
-    <AssemblyVersion>3.16.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>Event handler.</summary>
-    <remarks>
-      <para>The <see cref="M:Gtk.HTML.UrlRequested" /> event utilizes this delegate:</para>
-      <para>Event data is passed via the <see cref="T:Gtk.UrlRequestedArgs" /> parameter.</para>
-      <para>To attach a <see cref="T:Gtk.UrlRequestedHandler" /> to an event, add the UrlRequestedHandler instance to the event.  The methods referenced by the UrlRequestedHandler instance are invoked whenever the event is raised, until the UrlRequestedHandler is removed from the event.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="o" Type="System.Object" />
-    <Parameter Name="args" Type="Gtk.UrlRequestedArgs" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/Gtk/VRuler.xml b/doc/en/Gtk/VRuler.xml
deleted file mode 100644
index 3c3db8a..0000000
--- a/doc/en/Gtk/VRuler.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<Type Name="VRuler" FullName="Gtk.VRuler">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class VRuler : Gtk.Ruler" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>A vertical ruler.</summary>
-    <remarks>
-      <para>This ruler is used to show the vertical location of the mouse in the window and to display the vertical size of the window in the specified units. The available units of measurement are <see cref="P:Gtk.MetricType.Pixels" />, <see cref="P:Gtk.MetricType.Inches" /> and <see cref="P:Gtk.MetricType.Centimeters" />. The default is <see cref="P:Gtk.MetricType.Pixels" />.</para>
-      <para>A vertical ruler is typically used along the left or right edge of another widget such as a <see cref="T:Gtk.DrawingArea" />.</para>
-      <para>Note:- This widget is considered too specialized for GTK+, and will likely be moved to some other package in the future.</para>
-    </remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>Gtk.Ruler</BaseTypeName>
-  </Base>
-  <Interfaces>
-  </Interfaces>
-  <Members>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public VRuler (IntPtr raw);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="raw" Type="System.IntPtr" />
-      </Parameters>
-      <Docs>
-        <summary>Internal constructor</summary>
-        <param name="raw">Pointer to the C object.</param>
-        <remarks>
-          <para>This is an internal constructor, and should not be used by user code.</para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public VRuler ();" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters />
-      <Docs>
-        <summary>Creates a new vertical Ruler.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="GType">
-      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
-      <MemberType>Property</MemberType>
-      <ReturnValue>
-        <ReturnType>GLib.GType</ReturnType>
-      </ReturnValue>
-      <Parameters />
-      <Docs>
-        <summary>GType Property.</summary>
-        <value>a <see cref="T:GLib.GType" /></value>
-        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.VRuler" />.</remarks>
-      </Docs>
-    </Member>
-    <Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="protected VRuler (GLib.GType gtype);" />
-      <MemberType>Constructor</MemberType>
-      <ReturnValue />
-      <Parameters>
-        <Parameter Name="gtype" Type="GLib.GType" />
-      </Parameters>
-      <Docs>
-        <summary>Protected Constructor.</summary>
-        <param name="gtype">a <see cref="T:GLib.GType" /></param>
-        <remarks>Chain to this constructor if you have manually registered a native <see cref="T:GLib.GType" /> value for your subclass.</remarks>
-      </Docs>
-      <Attributes>
-        <Attribute>
-          <AttributeName>System.Obsolete</AttributeName>
-        </Attribute>
-      </Attributes>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/ValueChangedArgs.xml b/doc/en/Gtk/ValueChangedArgs.xml
index 135e953..021e4a0 100644
--- a/doc/en/Gtk/ValueChangedArgs.xml
+++ b/doc/en/Gtk/ValueChangedArgs.xml
@@ -9,8 +9,10 @@
   </Base>
   <Interfaces />
   <Docs>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <summary>Event data.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.ScaleButton.ValueChanged" /> event invokes <see cref="T:Gtk.ValueChangedHandler" /> delegates which pass event data via this class.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
   <Members>
@@ -20,8 +22,8 @@
       <MemberType>Constructor</MemberType>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Public Constructor.</summary>
+        <remarks>Create a new <see cref="T:Gtk.ValueChangedArgs" /> instance with this constructor if you need to invoke a <see cref="T:Gtk.ValueChangedHandler" /> delegate.</remarks>
       </Docs>
     </Member>
     <Member MemberName="Value">
diff --git a/doc/en/Gtk/ValueChangedHandler.xml b/doc/en/Gtk/ValueChangedHandler.xml
index c5e5591..1ce1eb9 100644
--- a/doc/en/Gtk/ValueChangedHandler.xml
+++ b/doc/en/Gtk/ValueChangedHandler.xml
@@ -15,10 +15,14 @@
     <ReturnType>System.Void</ReturnType>
   </ReturnValue>
   <Docs>
-    <param name="o">To be added.</param>
-    <param name="args">To be added.</param>
-    <summary>To be added.</summary>
-    <remarks>To be added.</remarks>
+    <param name="o">Event sender.</param>
+    <param name="args">Event arguments.</param>
+    <summary>Event handler.</summary>
+    <remarks>
+      <para>The <see cref="M:Gtk.ScaleButton.ValueChanged" /> event utilizes this delegate:</para>
+      <para>Event data is passed via the <see cref="T:Gtk.ValueChangedArgs" /> parameter.</para>
+      <para>To attach a <see cref="T:Gtk.ValueChangedHandler" /> to an event, add the ValueChangedHandler instance to the event.  The methods referenced by the ValueChangedHandler instance are invoked whenever the event is raised, until the ValueChangedHandler is removed from the event.</para>
+    </remarks>
     <since version="Gtk# 2.12" />
   </Docs>
 </Type>
diff --git a/doc/en/Gtk/Viewport.xml b/doc/en/Gtk/Viewport.xml
index 8186924..35e54a8 100644
--- a/doc/en/Gtk/Viewport.xml
+++ b/doc/en/Gtk/Viewport.xml
@@ -1,6 +1,6 @@
 <Type Name="Viewport" FullName="Gtk.Viewport">
-  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Viewport : Gtk.Bin, Gtk.Scrollable" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Viewport extends Gtk.Bin implements class GLib.IWrapper, class Gtk.Scrollable" />
+  <TypeSignature Language="C#" Maintainer="Lee Mallabone" Value="public class Viewport : Gtk.Bin, Gtk.IScrollable" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Viewport extends Gtk.Bin implements class GLib.IWrapper, class Gtk.IScrollable" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Gtk.Scrollable</InterfaceName>
+      <InterfaceName>Gtk.IScrollable</InterfaceName>
     </Interface>
   </Interfaces>
   <Docs>
diff --git a/doc/en/Gtk/VolumeButton.xml b/doc/en/Gtk/VolumeButton.xml
index adcedf0..10b6dee 100644
--- a/doc/en/Gtk/VolumeButton.xml
+++ b/doc/en/Gtk/VolumeButton.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -45,9 +45,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.VolumeButton" />.</remarks>
       </Docs>
     </Member>
     <Member MemberName="UseSymbolic">
diff --git a/doc/en/Gtk/Widget.xml b/doc/en/Gtk/Widget.xml
index 34a0567..874dcda 100644
--- a/doc/en/Gtk/Widget.xml
+++ b/doc/en/Gtk/Widget.xml
@@ -1,6 +1,6 @@
 <Type Name="Widget" FullName="Gtk.Widget">
-  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class Widget : GLib.InitiallyUnowned, Atk.Implementor" />
-  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Widget extends GLib.InitiallyUnowned implements class Atk.Implementor, class GLib.IWrapper" />
+  <TypeSignature Language="C#" Maintainer="Hector Gomez M" Value="public class Widget : GLib.InitiallyUnowned, Atk.IImplementor" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Widget extends GLib.InitiallyUnowned implements class Atk.IImplementor, class GLib.IWrapper" />
   <AssemblyInfo>
     <AssemblyName>gtk-sharp</AssemblyName>
     <AssemblyPublicKey>
@@ -12,7 +12,7 @@
   </Base>
   <Interfaces>
     <Interface>
-      <InterfaceName>Atk.Implementor</InterfaceName>
+      <InterfaceName>Atk.IImplementor</InterfaceName>
     </Interface>
   </Interfaces>
   <Attributes>
@@ -397,28 +397,28 @@ Widgets are required to honor the size allocation they receive; a size request i
         <value>
           <see cref="System.Boolean" /> that indicates if the widget can grab the default focus, using <see cref="M:Gtk.Widget.GrabDefault()" />.</value>
         <remarks>
-          <para>
-When this property is set to true, the widget itself will reserve space to
-draw the default if possible.
+          <para>
+When this property is set to true, the widget itself will reserve space to
+draw the default if possible.
 </para>
-          <para>
-If either the widget's <see cref="P:Gtk.Widget.Sensitive" /> property or
-the <see cref="P:Gtk.Widget.Parent" />'s <see cref="P:Gtk.Widget.Sensitive" /> property evaluates
-to false, the <see cref="P:Gtk.Widget.CanDefault" /> property will return false. Otherwise, the
-<see cref="P:Gtk.Widget.CanDefault" /> property will return its own value.
+          <para>
+If either the widget's <see cref="P:Gtk.Widget.Sensitive" /> property or
+the <see cref="P:Gtk.Widget.Parent" />'s <see cref="P:Gtk.Widget.Sensitive" /> property evaluates
+to false, the <see cref="P:Gtk.Widget.CanDefault" /> property will return false. Otherwise, the
+<see cref="P:Gtk.Widget.CanDefault" /> property will return its own value.
 </para>
-          <para>Typically, you'd like to set the default widget using
-		    <see cref="M:Gtk.Widget.GrabDefault()" />, but you must set the <see cref="P:Gtk.Widget.CanDefault" />
-			property to true before you call it, in order to force the focus to be grabbed
-			into the widget.
+          <para>Typically, you'd like to set the default widget using
+		    <see cref="M:Gtk.Widget.GrabDefault()" />, but you must set the <see cref="P:Gtk.Widget.CanDefault" />
+			property to true before you call it, in order to force the focus to be grabbed
+			into the widget.
 		  </para>
-          <para>
-		    When certain conditions are met and the user press Enter, the default
-			widget will be focused. Conditions: the <see cref="P:Gtk.Widget.CanDefault" /> property is set
-			to true, the <see cref="M:Gtk.Widget.GrabDefault()" /> has been called and
-			the <see cref="T:Gtk.Window" /> containing the widget have the focus.
-			This state is common when your window is shown for the first time, and no
-			<see cref="M:Gtk.Widget.GrabFocus()" /> call has been made (or when by no
+          <para>
+		    When certain conditions are met and the user press Enter, the default
+			widget will be focused. Conditions: the <see cref="P:Gtk.Widget.CanDefault" /> property is set
+			to true, the <see cref="M:Gtk.Widget.GrabDefault()" /> has been called and
+			the <see cref="T:Gtk.Window" /> containing the widget have the focus.
+			This state is common when your window is shown for the first time, and no
+			<see cref="M:Gtk.Widget.GrabFocus()" /> call has been made (or when by no
 			other means, the focus has been set to any particular widget).
 		  </para>
           <para>
@@ -444,25 +444,25 @@ to false, the <see cref="P:Gtk.Widget.CanDefault" /> property will return false.
       </Parameters>
       <Docs>
         <summary>Determines whether the <paramref name="widget" /> is able to receive the focus.</summary>
-        <value>Evaluates to <see langword="true" /> if the <paramref name="widget" /> is able to
+        <value>Evaluates to <see langword="true" /> if the <paramref name="widget" /> is able to
 handle focus grabs.</value>
         <remarks>
-          <para>
-		    If the widget property <see cref="P:Gtk.Widget.Sensitive" /> evaluates
-		    to <see langword="false" />, the <see cref="P:Gtk.Widget.CanFocus" /> property will also return
-			<see langword="false" />. widget
-		    must be a focusable widget, such as an <see cref="T:Gtk.Entry" />; something
-		    like <see cref="T:Gtk.Frame" /> won't work. More precisely, it must have the
-		    property <see cref="P:Gtk.Widget.CanFocus" /> set.
+          <para>
+		    If the widget property <see cref="P:Gtk.Widget.Sensitive" /> evaluates
+		    to <see langword="false" />, the <see cref="P:Gtk.Widget.CanFocus" /> property will also return
+			<see langword="false" />. widget
+		    must be a focusable widget, such as an <see cref="T:Gtk.Entry" />; something
+		    like <see cref="T:Gtk.Frame" /> won't work. More precisely, it must have the
+		    property <see cref="P:Gtk.Widget.CanFocus" /> set.
 		  </para>
-          <para>
-		    The <see cref="P:Gtk.Widget.CanFocus" /> property is just the helper that will tell you whether
-			the widget is focusable.
+          <para>
+		    The <see cref="P:Gtk.Widget.CanFocus" /> property is just the helper that will tell you whether
+			the widget is focusable.
 		  </para>
-          <para>
-		    Evaluate it before you make a call to <see cref="M:Gtk.Widget.GrabFocus()" />,
-			if you are unsure about the "focusability" of the widget.
-		  </para>[FIXME] This two links are seealso instead see: <see cref="P:Gtk.Widget.HasFocus" /> and
+          <para>
+		    Evaluate it before you make a call to <see cref="M:Gtk.Widget.GrabFocus()" />,
+			if you are unsure about the "focusability" of the widget.
+		  </para>[FIXME] This two links are seealso instead see: <see cref="P:Gtk.Widget.HasFocus" /> and
 		  <see cref="M:Gtk.Widget.GrabFocus()" /></remarks>
       </Docs>
     </Member>
@@ -1226,7 +1226,7 @@ class TestClose
         <ReturnType>Gtk.DrawnHandler</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
+        <summary>Raised when the widget needs to be fully or partially redrawn.</summary>
         <remarks>To be added.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
@@ -3145,9 +3145,9 @@ To change the font of a simple Widget:
       </Parameters>
       <Docs>
         <param name="evnt">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.DamageEvent" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.DamageEvent" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -3187,8 +3187,8 @@ To change the font of a simple Widget:
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.Destroyed" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.Destroyed" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -3427,9 +3427,9 @@ To change the font of a simple Widget:
       <Docs>
         <param name="context">To be added.</param>
         <param name="result">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.DragFailed" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.DragFailed" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
@@ -3500,10 +3500,10 @@ To change the font of a simple Widget:
         <Parameter Name="cr" Type="Cairo.Context" />
       </Parameters>
       <Docs>
-        <param name="cr">To be added.</param>
-        <summary>To be added.</summary>
-        <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <param name="cr">a <see cref="T:Cairo.Context" /> to be used to paint the widget.</param>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.Drawn" /> event.</summary>
+        <returns>a <see cref="T:System.Boolean" /></returns>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.Drawn" /> event. The <see cref="T:Cairo.Context" /> will be disposed after this method returns, so you should no keep a reference to it outside of the scope of this method.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -4025,8 +4025,8 @@ To change the font of a simple Widget:
       </Parameters>
       <Docs>
         <param name="direction">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.MoveFocus" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.MoveFocus" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -4159,9 +4159,9 @@ To change the font of a simple Widget:
         <param name="y">To be added.</param>
         <param name="keyboard_tooltip">To be added.</param>
         <param name="tooltip">To be added.</param>
-        <summary>To be added.</summary>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.QueryTooltip" /> event.</summary>
         <returns>To be added.</returns>
-        <remarks>To be added.</remarks>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.QueryTooltip" /> event.</remarks>
         <since version="Gtk# 2.12" />
       </Docs>
     </Member>
@@ -4436,8 +4436,8 @@ To change the font of a simple Widget:
       </Parameters>
       <Docs>
         <param name="previous_state_flags">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.StateFlagsChanged" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.StateFlagsChanged" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -4476,8 +4476,8 @@ To change the font of a simple Widget:
       </ReturnValue>
       <Parameters />
       <Docs>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <summary>Default handler for the <see cref="M:Gtk.Widget.StyleUpdated" /> event.</summary>
+        <remarks>Override this method in a subclass to provide a default handler for the <see cref="M:Gtk.Widget.StyleUpdated" /> event.</remarks>
         <since version="Gtk# 3.0" />
       </Docs>
     </Member>
@@ -5636,23 +5636,23 @@ To change the font of a simple Widget:
         <value>
           <see langword="true" /> if the <paramref name="widget" /> responds to input.</value>
         <remarks>
-          <para>Insensitive widgets are "grayed out" and the user can't
-interact with them. Insensitive widgets are known as
-"inactive", "disabled", or "ghosted" in some other toolkits.
-The sensitivity of a widget determines whether it will receive
+          <para>Insensitive widgets are "grayed out" and the user can't
+interact with them. Insensitive widgets are known as
+"inactive", "disabled", or "ghosted" in some other toolkits.
+The sensitivity of a widget determines whether it will receive
 certain events (e.g. button or key presses).</para>
-          <para>
-If the ancestor (parent) widget sesitivity is set to false,
-it does not matter what the sensitivity property have,
-the widget will not be sensitive. Use
-<c>widget.Parent.Sensitive</c>
-to check whether the ancestor widget is sensitive or not.
+          <para>
+If the ancestor (parent) widget sesitivity is set to false,
+it does not matter what the sensitivity property have,
+the widget will not be sensitive. Use
+<c>widget.Parent.Sensitive</c>
+to check whether the ancestor widget is sensitive or not.
 </para>
           <see cref="P:Gtk.Widget.Parent" />
           <see cref="M:Gtk.Widget.GetAncestor(uint)" />
-          <para>
-When the sensitive property is set to false, the widget
-property <see cref="P:Gtk.Widget.CanDefault" /> will return false.
+          <para>
+When the sensitive property is set to false, the widget
+property <see cref="P:Gtk.Widget.CanDefault" /> will return false.
 </para>
         </remarks>
       </Docs>
diff --git a/doc/en/Gtk/WidgetFlags.xml b/doc/en/Gtk/WidgetFlags.xml
deleted file mode 100644
index 9a611f1..0000000
--- a/doc/en/Gtk/WidgetFlags.xml
+++ /dev/null
@@ -1,344 +0,0 @@
-<Type Name="WidgetFlags" FullName="Gtk.WidgetFlags">
-  <TypeSignature Language="C#" Value="public enum WidgetFlags" Maintainer="Hector Gomez M" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyPublicKey>
-    </AssemblyPublicKey>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <summary>Tells about certain properties of the <paramref name="widget" />.</summary>
-    <remarks />
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Enum</BaseTypeName>
-  </Base>
-  <Attributes>
-    <Attribute>
-      <AttributeName>GLib.GType(typeof(Gtk.WidgetFlagsGType))</AttributeName>
-    </Attribute>
-    <Attribute>
-      <AttributeName>System.Flags</AttributeName>
-    </Attribute>
-  </Attributes>
-  <Members>
-    <Member MemberName="Toplevel">
-      <MemberSignature Language="C#" Value="Toplevel" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Widgets without a real parent, as there are <see cref="T:Gtk.Window" />s and <see cref="T:Gtk.Menu" />s have this flag set throughout their lifetime.</summary>
-        <remarks>
-          <para>
-          Toplevel widgets always contain their own <see cref="T:Gdk.Window" />.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NoWindow">
-      <MemberSignature Language="C#" Value="NoWindow" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Indicative for a <paramref name="widget" /> that does not provide its own <see cref="T:Gdk.Window" />.</summary>
-        <remarks>
-          <para>
-            Visible action (e.g. drawing) is performed on the parent's <see cref="T:Gdk.Window" />.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Realized">
-      <MemberSignature Language="C#" Value="Realized" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary> Set by <see cref="M:Gtk.Widget.Realize" />, unset by <see cref="M:Gtk.Widget.Unrealize" />.</summary>
-        <remarks>
-          <para>
-            A realized <paramref name="widget" /> has an associated <see cref="T:Gdk.Window" />.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Mapped">
-      <MemberSignature Language="C#" Value="Mapped" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set by <see cref="M:Gtk.Widget.Map" />, unset by <see cref="M:Gtk.Widget.Map" />.</summary>
-        <remarks>
-          <para>
-          Only realized widgets can be mapped. It means that <see cref="M:Gdk.Window.Show" /> has been called on the widgets window(s).
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Visible">
-      <MemberSignature Language="C#" Value="Visible" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary> Set by <see cref="M:Gtk.Widget.Show" />, unset by <see cref="M:Gtk.Widget.Hide" />. Implies that a <paramref name="widget" /> will be mapped as soon as its parent is mapped.</summary>
-        <remarks>
-          <para>
-           Implies that a <paramref name="widget" /> will be mapped as soon as its parent is mapped.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="Sensitive">
-      <MemberSignature Language="C#" Value="Sensitive" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set and unset by <see cref="P:Gtk.Widget.Sensitive" />. The sensitivity of a <paramref name="widget" /> determines whether it will receive certain events (e.g. button or key presses).</summary>
-        <remarks>
-          <para>
-          One premise for the widgets sensitivity is to have this flag set.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ParentSensitive">
-      <MemberSignature Language="C#" Value="ParentSensitive" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set and unset by <see cref="P:Gtk.Widget.Sensitive" /> operations on the parents of the <paramref name="widget" />.</summary>
-        <remarks>
-          <para>
-           This is the second premise for the widgets sensitivity. Once it has <see cref="F:Gtk.WidgetFlags.Sensitive" /> and <see cref="F:Gtk.Widget.ParentSensitive" /> set, its state is effectively sensitive.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CanFocus">
-      <MemberSignature Language="C#" Value="CanFocus" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Determines whether a <paramref name="widget" /> is able to handle focus grabs.</summary>
-        <remarks>
-          <para>
-          Determines whether a <paramref name="widget" /> is able to handle focus grabs.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HasFocus">
-      <MemberSignature Language="C#" Value="HasFocus" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary> Set by <see cref="M:Gtk.Widget.GrabFocus" /> for widgets that also have <see cref="F:Gtk.WidgetFlags.CanFocus" /> set.</summary>
-        <remarks>
-          <para>
-           The flag will be unset once another widget grabs the focus.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CanDefault">
-      <MemberSignature Language="C#" Value="CanDefault" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The <paramref name="widget" /> is allowed to receive the default action via <see cref="M:Gtk.Widget.GrabDefault" />.</summary>
-        <remarks>
-          <para>
-          The <paramref name="widget" /> is allowed to receive the default action via <see cref="M:Gtk.Widget.GrabDefault" />.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HasDefault">
-      <MemberSignature Language="C#" Value="HasDefault" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary> The <paramref name="widget" /> currently is receiving the default action.</summary>
-        <remarks>
-          <para>
-          The <paramref name="widget" /> currently is receiving the default action.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="HasGrab">
-      <MemberSignature Language="C#" Value="HasGrab" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary> Set by <see cref="M:Gtk.Widget.GrabDefault" />gtk_grab_add(), unset by gtk_grab_remove().</summary>
-        <remarks>
-          <para>
-          It means that the widget is in the grab_widgets stack, and will be the preferred one for receiving events other than ones of cosmetic value.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="RcStyle">
-      <MemberSignature Language="C#" Value="RcStyle" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Indicates that the widgets style has been looked up through the rc mechanism.</summary>
-        <remarks>
-          <para>
-          It does not imply that the <paramref name="widget" /> actually had a style defined through the rc mechanism.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="CompositeChild">
-      <MemberSignature Language="C#" Value="CompositeChild" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Indicates that the <paramref name="widget" /> is a composite child of its parent.</summary>
-        <remarks>
-          <para>
-          See <see cref="M:Gtk.Widget.PushCompositeChild" />, <see cref="M:Gtk.Widget.PopCompositeChild" />.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NoReparent">
-      <MemberSignature Language="C#" Value="NoReparent" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Unused since before GTK 1.2, will be removed in a future version.</summary>
-        <remarks />
-      </Docs>
-    </Member>
-    <Member MemberName="AppPaintable">
-      <MemberSignature Language="C#" Value="AppPaintable" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set and unset by <see cref="P:Gtk.Widget.AppPaintable" />.</summary>
-        <remarks>
-          <para>
-          Must be set on widgets whose window the application directly draws on, in order to keep GTK# from overwriting the drawn stuff.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="ReceivesDefault">
-      <MemberSignature Language="C#" Value="ReceivesDefault" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>The <paramref name="widget" /> when focused will receive the default action and have <see cref="F:Gtk.WidgetFlags.HasDefault" /> set even if there is a different widget set as default.</summary>
-        <remarks>
-          <para>
-          The <paramref name="widget" /> when focused will receive the default action and have <see cref="F:Gtk.WidgetFlags.HasDefault" /> set even if there is a different widget set as default.
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="DoubleBuffered">
-      <MemberSignature Language="C#" Value="DoubleBuffered" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Set and unset by <see cref="P:Gtk.Widget.DoubleBuffered" />. Indicates that exposes done on the <paramref name="widget" /> should be double-buffered. </summary>
-        <remarks>
-          <para>
-          Indicates that exposes done on the <paramref name="widget" /> should be double-buffered. 
-         </para>
-        </remarks>
-      </Docs>
-    </Member>
-    <Member MemberName="NoShowAll">
-      <MemberSignature Language="C#" Value="NoShowAll" />
-      <MemberType>Field</MemberType>
-      <ReturnValue>
-        <ReturnType>Gtk.WidgetFlags</ReturnType>
-      </ReturnValue>
-      <Parameters>
-      </Parameters>
-      <Docs>
-        <summary>Whether calls to ShowAll and HideAll will effect the widget.</summary>
-        <remarks>
-        </remarks>
-        <since version="Gtk# 2.4" />
-      </Docs>
-    </Member>
-  </Members>
-</Type>
diff --git a/doc/en/Gtk/WidgetPath.xml b/doc/en/Gtk/WidgetPath.xml
index 077f3f8..8adc18a 100644
--- a/doc/en/Gtk/WidgetPath.xml
+++ b/doc/en/Gtk/WidgetPath.xml
@@ -388,11 +388,11 @@
       </Docs>
     </Member>
     <Member MemberName="IterListClasses">
-      <MemberSignature Language="C#" Value="public GLib.SList IterListClasses (int pos);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SList IterListClasses(int32 pos) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] IterListClasses (int pos);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] IterListClasses(int32 pos) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SList</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="pos" Type="System.Int32" />
@@ -406,11 +406,11 @@
       </Docs>
     </Member>
     <Member MemberName="IterListRegions">
-      <MemberSignature Language="C#" Value="public GLib.SList IterListRegions (int pos);" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.SList IterListRegions(int32 pos) cil managed" />
+      <MemberSignature Language="C#" Value="public string[] IterListRegions (int pos);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance string[] IterListRegions(int32 pos) cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.SList</ReturnType>
+        <ReturnType>System.String[]</ReturnType>
       </ReturnValue>
       <Parameters>
         <Parameter Name="pos" Type="System.Int32" />
diff --git a/doc/en/Gtk/Win32EmbedWidget.xml b/doc/en/Gtk/Win32EmbedWidget.xml
index 3a35a7f..23c83c5 100644
--- a/doc/en/Gtk/Win32EmbedWidget.xml
+++ b/doc/en/Gtk/Win32EmbedWidget.xml
@@ -32,9 +32,9 @@
         <Parameter Name="raw" Type="System.IntPtr" />
       </Parameters>
       <Docs>
-        <param name="raw">To be added.</param>
-        <summary>To be added.</summary>
-        <remarks>To be added.</remarks>
+        <param name="raw">Native object pointer.</param>
+        <summary>Internal constructor</summary>
+        <remarks>This is not typically used by C# code.  Exposed primarily for use by language bindings to wrap native object instances.</remarks>
       </Docs>
     </Member>
     <Member MemberName="GType">
@@ -45,9 +45,9 @@
         <ReturnType>GLib.GType</ReturnType>
       </ReturnValue>
       <Docs>
-        <summary>To be added.</summary>
-        <value>To be added.</value>
-        <remarks>To be added.</remarks>
+        <summary>GType Property.</summary>
+        <value>The native <see cref="T:GLib.GType" /> value.</value>
+        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Gtk.Win32EmbedWidget" />.</remarks>
       </Docs>
     </Member>
   </Members>
diff --git a/doc/en/Gtk/WindowGroup.xml b/doc/en/Gtk/WindowGroup.xml
index b5978fd..6cb9700 100644
--- a/doc/en/Gtk/WindowGroup.xml
+++ b/doc/en/Gtk/WindowGroup.xml
@@ -109,11 +109,11 @@
       </Docs>
     </Member>
     <Member MemberName="ListWindows">
-      <MemberSignature Language="C#" Value="public GLib.List ListWindows ();" />
-      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class GLib.List ListWindows() cil managed" />
+      <MemberSignature Language="C#" Value="public Gtk.Window[] ListWindows ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Gtk.Window[] ListWindows() cil managed" />
       <MemberType>Method</MemberType>
       <ReturnValue>
-        <ReturnType>GLib.List</ReturnType>
+        <ReturnType>Gtk.Window[]</ReturnType>
       </ReturnValue>
       <Parameters />
       <Docs>
diff --git a/doc/en/Gtk/WindowKeysForeachFunc.xml b/doc/en/Gtk/WindowKeysForeachFunc.xml
deleted file mode 100644
index f3414ae..0000000
--- a/doc/en/Gtk/WindowKeysForeachFunc.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<Type Name="WindowKeysForeachFunc" FullName="Gtk.WindowKeysForeachFunc">
-  <TypeSignature Language="C#" Maintainer="auto" Value="public delegate void WindowKeysForeachFunc(Window window, uint keyval, ModifierType modifiers, bool is_mnemonic);" />
-  <AssemblyInfo>
-    <AssemblyName>gtk-sharp</AssemblyName>
-    <AssemblyVersion>2.12.0.0</AssemblyVersion>
-  </AssemblyInfo>
-  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
-  <Docs>
-    <param name="window">To be added.</param>
-    <param name="keyval">To be added.</param>
-    <param name="modifiers">To be added.</param>
-    <param name="is_mnemonic">To be added.</param>
-    <summary>Delegate class.</summary>
-    <remarks>TODO: There are no references to this class elsewhere in the doc; is it obsolete?</remarks>
-  </Docs>
-  <Base>
-    <BaseTypeName>System.Delegate</BaseTypeName>
-  </Base>
-  <Members />
-  <Parameters>
-    <Parameter Name="window" Type="Gtk.Window" />
-    <Parameter Name="keyval" Type="System.UInt32" />
-    <Parameter Name="modifiers" Type="Gdk.ModifierType" />
-    <Parameter Name="is_mnemonic" Type="System.Boolean" />
-  </Parameters>
-  <ReturnValue>
-    <ReturnType>System.Void</ReturnType>
-  </ReturnValue>
-</Type>
diff --git a/doc/en/index.xml b/doc/en/index.xml
index 6a53155..754e51d 100644
--- a/doc/en/index.xml
+++ b/doc/en/index.xml
@@ -63,9 +63,7 @@
     <Namespace Name="Art">
     </Namespace>
     <Namespace Name="Atk">
-      <Type Name="Action" Kind="Interface" />
       <Type Name="ActionAdapter" Kind="Class" />
-      <Type Name="ActionImplementor" Kind="Interface" />
       <Type Name="ActiveDescendantChangedArgs" Kind="Class" />
       <Type Name="ActiveDescendantChangedHandler" Kind="Delegate" />
       <Type Name="Attribute" Kind="Structure" />
@@ -77,16 +75,10 @@
       <Type Name="ColumnDeletedHandler" Kind="Delegate" />
       <Type Name="ColumnInsertedArgs" Kind="Class" />
       <Type Name="ColumnInsertedHandler" Kind="Delegate" />
-      <Type Name="Component" Kind="Interface" />
       <Type Name="ComponentAdapter" Kind="Class" />
-      <Type Name="ComponentImplementor" Kind="Interface" />
       <Type Name="CoordType" Kind="Enumeration" />
-      <Type Name="Document" Kind="Interface" />
       <Type Name="DocumentAdapter" Kind="Class" />
-      <Type Name="DocumentImplementor" Kind="Interface" />
-      <Type Name="EditableText" Kind="Interface" />
       <Type Name="EditableTextAdapter" Kind="Class" />
-      <Type Name="EditableTextImplementor" Kind="Interface" />
       <Type Name="EventListener" Kind="Delegate" />
       <Type Name="EventListenerInit" Kind="Delegate" />
       <Type Name="Focus" Kind="Class" />
@@ -98,19 +90,37 @@
       <Type Name="Global" Kind="Class" />
       <Type Name="GObjectAccessible" Kind="Class" />
       <Type Name="Hyperlink" Kind="Class" />
-      <Type Name="HyperlinkImpl" Kind="Interface" />
       <Type Name="HyperlinkImplAdapter" Kind="Class" />
-      <Type Name="HyperlinkImplImplementor" Kind="Interface" />
       <Type Name="HyperlinkStateFlags" Kind="Enumeration" />
-      <Type Name="Hypertext" Kind="Interface" />
       <Type Name="HypertextAdapter" Kind="Class" />
-      <Type Name="HypertextImplementor" Kind="Interface" />
-      <Type Name="Image" Kind="Interface" />
+      <Type Name="IAction" Kind="Interface" />
+      <Type Name="IActionImplementor" Kind="Interface" />
+      <Type Name="IComponent" Kind="Interface" />
+      <Type Name="IComponentImplementor" Kind="Interface" />
+      <Type Name="IDocument" Kind="Interface" />
+      <Type Name="IDocumentImplementor" Kind="Interface" />
+      <Type Name="IEditableText" Kind="Interface" />
+      <Type Name="IEditableTextImplementor" Kind="Interface" />
+      <Type Name="IHyperlinkImpl" Kind="Interface" />
+      <Type Name="IHyperlinkImplImplementor" Kind="Interface" />
+      <Type Name="IHypertext" Kind="Interface" />
+      <Type Name="IHypertextImplementor" Kind="Interface" />
+      <Type Name="IImage" Kind="Interface" />
+      <Type Name="IImageImplementor" Kind="Interface" />
+      <Type Name="IImplementor" Kind="Interface" />
+      <Type Name="IImplementorImplementor" Kind="Interface" />
       <Type Name="ImageAdapter" Kind="Class" />
-      <Type Name="ImageImplementor" Kind="Interface" />
-      <Type Name="Implementor" Kind="Interface" />
       <Type Name="ImplementorAdapter" Kind="Class" />
-      <Type Name="ImplementorImplementor" Kind="Interface" />
+      <Type Name="ISelection" Kind="Interface" />
+      <Type Name="ISelectionImplementor" Kind="Interface" />
+      <Type Name="IStreamableContent" Kind="Interface" />
+      <Type Name="IStreamableContentImplementor" Kind="Interface" />
+      <Type Name="ITable" Kind="Interface" />
+      <Type Name="ITableImplementor" Kind="Interface" />
+      <Type Name="IText" Kind="Interface" />
+      <Type Name="ITextImplementor" Kind="Interface" />
+      <Type Name="IValue" Kind="Interface" />
+      <Type Name="IValueImplementor" Kind="Interface" />
       <Type Name="KeyEventStruct" Kind="Structure" />
       <Type Name="KeyEventType" Kind="Enumeration" />
       <Type Name="KeySnoopFunc" Kind="Delegate" />
@@ -121,6 +131,7 @@
       <Type Name="NoOpObject" Kind="Class" />
       <Type Name="NoOpObjectFactory" Kind="Class" />
       <Type Name="Object" Kind="Class" />
+      <Type Name="Object+ChildrenChangedDetail" Kind="Enumeration" />
       <Type Name="ObjectFactory" Kind="Class" />
       <Type Name="ObjectFactory+CreateAccessibleDelegate" Kind="Delegate" />
       <Type Name="ObjectFactory+GetAccessibleTypeDelegate" Kind="Delegate" />
@@ -140,22 +151,15 @@
       <Type Name="RowDeletedHandler" Kind="Delegate" />
       <Type Name="RowInsertedArgs" Kind="Class" />
       <Type Name="RowInsertedHandler" Kind="Delegate" />
-      <Type Name="Selection" Kind="Interface" />
       <Type Name="SelectionAdapter" Kind="Class" />
-      <Type Name="SelectionImplementor" Kind="Interface" />
       <Type Name="Socket" Kind="Class" />
       <Type Name="StateChangeArgs" Kind="Class" />
       <Type Name="StateChangeHandler" Kind="Delegate" />
       <Type Name="StateManager" Kind="Class" />
       <Type Name="StateSet" Kind="Class" />
       <Type Name="StateType" Kind="Enumeration" />
-      <Type Name="StreamableContent" Kind="Interface" />
       <Type Name="StreamableContentAdapter" Kind="Class" />
-      <Type Name="StreamableContentImplementor" Kind="Interface" />
-      <Type Name="Table" Kind="Interface" />
       <Type Name="TableAdapter" Kind="Class" />
-      <Type Name="TableImplementor" Kind="Interface" />
-      <Type Name="Text" Kind="Interface" />
       <Type Name="TextAdapter" Kind="Class" />
       <Type Name="TextAttribute" Kind="Enumeration" />
       <Type Name="TextBoundary" Kind="Enumeration" />
@@ -165,7 +169,6 @@
       <Type Name="TextChangedDetail" Kind="Enumeration" />
       <Type Name="TextChangedHandler" Kind="Delegate" />
       <Type Name="TextClipType" Kind="Enumeration" />
-      <Type Name="TextImplementor" Kind="Interface" />
       <Type Name="TextRange" Kind="Structure" />
       <Type Name="TextRectangle" Kind="Structure" />
       <Type Name="Util" Kind="Class" />
@@ -175,9 +178,7 @@
       <Type Name="Util+GetToolkitNameDelegate" Kind="Delegate" />
       <Type Name="Util+GetToolkitVersionDelegate" Kind="Delegate" />
       <Type Name="Util+RemoveListenerDelegate" Kind="Delegate" />
-      <Type Name="Value" Kind="Interface" />
       <Type Name="ValueAdapter" Kind="Class" />
-      <Type Name="ValueImplementor" Kind="Interface" />
     </Namespace>
     <Namespace Name="GConf">
     </Namespace>
@@ -192,30 +193,23 @@
       <Type Name="Atom" Kind="Class" />
       <Type Name="AxisInfo" Kind="Class" />
       <Type Name="AxisUse" Kind="Enumeration" />
-      <Type Name="BRESINFO" />
       <Type Name="ByteOrder" Kind="Enumeration" />
       <Type Name="CairoHelper" Kind="Class" />
-      <Type Name="CapStyle" />
-      <Type Name="Char" />
       <Type Name="ClientFilter" Kind="Class" />
       <Type Name="ClosedArgs" Kind="Class" />
       <Type Name="ClosedHandler" Kind="Delegate" />
       <Type Name="Color" Kind="Structure" />
-      <Type Name="Colormap" />
       <Type Name="Colorspace" Kind="Enumeration" />
       <Type Name="CreateSurfaceArgs" Kind="Class" />
       <Type Name="CreateSurfaceHandler" Kind="Delegate" />
       <Type Name="CrossingMode" Kind="Enumeration" />
       <Type Name="Cursor" Kind="Class" />
       <Type Name="CursorType" Kind="Enumeration" />
-      <Type Name="DestroyNotify" />
       <Type Name="Device" Kind="Class" />
       <Type Name="DeviceAddedArgs" Kind="Class" />
       <Type Name="DeviceAddedHandler" Kind="Delegate" />
-      <Type Name="DeviceAxis" />
       <Type Name="DeviceChangedArgs" Kind="Class" />
       <Type Name="DeviceChangedHandler" Kind="Delegate" />
-      <Type Name="DeviceKey" />
       <Type Name="DeviceManager" Kind="Class" />
       <Type Name="DeviceRemovedArgs" Kind="Class" />
       <Type Name="DeviceRemovedHandler" Kind="Delegate" />
@@ -224,19 +218,14 @@
       <Type Name="DisplayManager" Kind="Class" />
       <Type Name="DisplayOpenedArgs" Kind="Class" />
       <Type Name="DisplayOpenedHandler" Kind="Delegate" />
-      <Type Name="DisplayPointerHooks" />
       <Type Name="Drag" Kind="Class" />
       <Type Name="DragAction" Kind="Enumeration" />
       <Type Name="DragContext" Kind="Class" />
       <Type Name="DragProtocol" Kind="Enumeration" />
-      <Type Name="Drawable" />
       <Type Name="Drop" Kind="Class" />
-      <Type Name="EdgeTable" />
-      <Type Name="EdgeTableEntry" />
       <Type Name="Error" Kind="Class" />
       <Type Name="Event" Kind="Class" />
       <Type Name="EventButton" Kind="Class" />
-      <Type Name="EventClient" />
       <Type Name="EventConfigure" Kind="Class" />
       <Type Name="EventCrossing" Kind="Class" />
       <Type Name="EventDND" Kind="Class" />
@@ -260,19 +249,10 @@
       <Type Name="EventVisibility" Kind="Class" />
       <Type Name="EventWindowState" Kind="Class" />
       <Type Name="ExtensionMode" Kind="Enumeration" />
-      <Type Name="Fill" />
-      <Type Name="FillRule" />
       <Type Name="FilterFunc" Kind="Delegate" />
       <Type Name="FilterReturn" Kind="Enumeration" />
-      <Type Name="Font" />
-      <Type Name="Fontset" />
-      <Type Name="FontType" />
       <Type Name="FromEmbedderArgs" Kind="Class" />
       <Type Name="FromEmbedderHandler" Kind="Delegate" />
-      <Type Name="Function" />
-      <Type Name="GC" />
-      <Type Name="GCValues" />
-      <Type Name="GCValuesMask" />
       <Type Name="GdipContext" Kind="Class" />
       <Type Name="Geometry" Kind="Structure" />
       <Type Name="Gif89" Kind="Class" />
@@ -284,37 +264,25 @@
       <Type Name="Gravity" Kind="Enumeration" />
       <Type Name="IcnsBlockHeader" Kind="Class" />
       <Type Name="IconEntry" Kind="Class" />
-      <Type Name="Image" />
-      <Type Name="ImageType" />
-      <Type Name="Input" />
-      <Type Name="InputCondition" />
-      <Type Name="InputFunction" />
       <Type Name="InputMode" Kind="Enumeration" />
       <Type Name="InputSource" Kind="Enumeration" />
       <Type Name="InterpType" Kind="Enumeration" />
-      <Type Name="InvalidateMaybeRecurseChildFunc" />
       <Type Name="IOBuffer" Kind="Class" />
       <Type Name="IOClosure" Kind="Class" />
-      <Type Name="JoinStyle" />
       <Type Name="Key" Kind="Enumeration" />
       <Type Name="Keyboard" Kind="Class" />
       <Type Name="Keymap" Kind="Class" />
       <Type Name="KeymapKey" Kind="Structure" />
       <Type Name="Keyval" Kind="Class" />
-      <Type Name="LineStyle" />
       <Type Name="LoadContext" Kind="Class" />
       <Type Name="ModifierType" Kind="Enumeration" />
       <Type Name="NotifyType" Kind="Enumeration" />
       <Type Name="OffscreenWindow" Kind="Class" />
       <Type Name="OffscreenWindowClass" Kind="Class" />
-      <Type Name="OverlapType" />
       <Type Name="OwnerChange" Kind="Enumeration" />
       <Type Name="Paintable" Kind="Class" />
       <Type Name="PaintableIface" Kind="Class" />
-      <Type Name="PangoAttrEmbossed" />
-      <Type Name="PangoAttrStipple" />
       <Type Name="PangoHelper" Kind="Class" />
-      <Type Name="PangoRenderer" />
       <Type Name="PickEmbeddedChildArgs" Kind="Class" />
       <Type Name="PickEmbeddedChildHandler" Kind="Delegate" />
       <Type Name="Pixbuf" Kind="Class" />
@@ -345,37 +313,22 @@
       <Type Name="Pixdata" Kind="Structure" />
       <Type Name="PixdataDumpType" Kind="Enumeration" />
       <Type Name="PixdataType" Kind="Enumeration" />
-      <Type Name="Pixmap" />
       <Type Name="Point" Kind="Structure" />
-      <Type Name="POINTBLOCK" />
       <Type Name="Pointer" Kind="Class" />
-      <Type Name="PointerHooks" />
       <Type Name="Predicate" Kind="Class" />
       <Type Name="Property" Kind="Class" />
       <Type Name="PropertyState" Kind="Enumeration" />
       <Type Name="PropMode" Kind="Enumeration" />
       <Type Name="Rectangle" Kind="Structure" />
-      <Type Name="Region" />
-      <Type Name="RegionBox" />
-      <Type Name="Rgb" />
       <Type Name="RGBA" Kind="Structure" />
-      <Type Name="RgbCmap" />
-      <Type Name="RgbDither" />
-      <Type Name="ScanLineList" />
-      <Type Name="ScanLineListBlock" />
       <Type Name="Screen" Kind="Class" />
       <Type Name="ScrollDirection" Kind="Enumeration" />
-      <Type Name="Segment" />
       <Type Name="Selection" Kind="Class" />
       <Type Name="SettingAction" Kind="Enumeration" />
       <Type Name="Size" Kind="Structure" />
       <Type Name="SizePreparedArgs" Kind="Class" />
       <Type Name="SizePreparedHandler" Kind="Delegate" />
-      <Type Name="Span" />
-      <Type Name="SpanFunc" />
-      <Type Name="Spawn" />
       <Type Name="Status" Kind="Enumeration" />
-      <Type Name="SubwindowMode" />
       <Type Name="TextProperty" Kind="Class" />
       <Type Name="TGAColor" Kind="Class" />
       <Type Name="TGAColormap" Kind="Class" />
@@ -388,7 +341,6 @@
       <Type Name="TimeCoord" Kind="Structure" />
       <Type Name="ToEmbedderArgs" Kind="Class" />
       <Type Name="ToEmbedderHandler" Kind="Delegate" />
-      <Type Name="Trapezoid" />
       <Type Name="VisibilityState" Kind="Enumeration" />
       <Type Name="Visual" Kind="Class" />
       <Type Name="VisualType" Kind="Enumeration" />
@@ -396,7 +348,6 @@
       <Type Name="WindowAttr" Kind="Structure" />
       <Type Name="WindowAttributesType" Kind="Enumeration" />
       <Type Name="WindowChildFunc" Kind="Delegate" />
-      <Type Name="WindowClass" />
       <Type Name="WindowEdge" Kind="Enumeration" />
       <Type Name="WindowHints" Kind="Enumeration" />
       <Type Name="WindowPaint" Kind="Class" />
@@ -415,23 +366,18 @@
     <Namespace Name="GLib">
       <Type Name="AcceptCertificateArgs" Kind="Class" />
       <Type Name="AcceptCertificateHandler" Kind="Delegate" />
-      <Type Name="Action" Kind="Interface" />
       <Type Name="ActionAdapter" Kind="Class" />
       <Type Name="ActionAddedArgs" Kind="Class" />
       <Type Name="ActionAddedHandler" Kind="Delegate" />
       <Type Name="ActionEnabledChangedArgs" Kind="Class" />
       <Type Name="ActionEnabledChangedHandler" Kind="Delegate" />
-      <Type Name="ActionGroup" Kind="Interface" />
       <Type Name="ActionGroupAdapter" Kind="Class" />
-      <Type Name="ActionGroupImplementor" Kind="Interface" />
-      <Type Name="ActionImplementor" Kind="Interface" />
       <Type Name="ActionRemovedArgs" Kind="Class" />
       <Type Name="ActionRemovedHandler" Kind="Delegate" />
       <Type Name="ActionStateChangedArgs" Kind="Class" />
       <Type Name="ActionStateChangedHandler" Kind="Delegate" />
       <Type Name="ActivatedArgs" Kind="Class" />
       <Type Name="ActivatedHandler" Kind="Delegate" />
-      <Type Name="AppInfo" Kind="Interface" />
       <Type Name="AppInfoAdapter" Kind="Class" />
       <Type Name="AppInfoCreateFlags" Kind="Enumeration" />
       <Type Name="AppLaunchContext" Kind="Class" />
@@ -445,13 +391,9 @@
       <Type Name="AskPasswordHandler" Kind="Delegate" />
       <Type Name="AskQuestionArgs" Kind="Class" />
       <Type Name="AskQuestionHandler" Kind="Delegate" />
-      <Type Name="AsyncInitable" Kind="Interface" />
       <Type Name="AsyncInitableAdapter" Kind="Class" />
-      <Type Name="AsyncInitableImplementor" Kind="Interface" />
       <Type Name="AsyncReadyCallback" Kind="Delegate" />
-      <Type Name="AsyncResult" Kind="Interface" />
       <Type Name="AsyncResultAdapter" Kind="Class" />
-      <Type Name="AsyncResultImplementor" Kind="Interface" />
       <Type Name="AuthenticatedPeerAuthorizedArgs" Kind="Class" />
       <Type Name="AuthenticatedPeerAuthorizedHandler" Kind="Delegate" />
       <Type Name="BufferedInputStream" Kind="Class" />
@@ -477,13 +419,12 @@
       <Type Name="ClosedHandler" Kind="Delegate" />
       <Type Name="CommandLineArgs" Kind="Class" />
       <Type Name="CommandLineHandler" Kind="Delegate" />
+      <Type Name="Cond" Kind="Class" />
       <Type Name="ConnectBeforeAttribute" Kind="Class" />
       <Type Name="ConnectFlags" Kind="Enumeration" />
-      <Type Name="Content" Kind="Class" />
-      <Type Name="Converter" Kind="Interface" />
+      <Type Name="ContentType" Kind="Class" />
       <Type Name="ConverterAdapter" Kind="Class" />
       <Type Name="ConverterFlags" Kind="Enumeration" />
-      <Type Name="ConverterImplementor" Kind="Interface" />
       <Type Name="ConverterInputStream" Kind="Class" />
       <Type Name="ConverterOutputStream" Kind="Class" />
       <Type Name="ConverterResult" Kind="Enumeration" />
@@ -493,7 +434,10 @@
       <Type Name="DataOutputStream" Kind="Class" />
       <Type Name="DataStreamByteOrder" Kind="Enumeration" />
       <Type Name="DataStreamNewlineType" Kind="Enumeration" />
+      <Type Name="Date" Kind="Class" />
+      <Type Name="DateTime" Kind="Class" />
       <Type Name="Dbus" Kind="Class" />
+      <Type Name="DBus" Kind="Class" />
       <Type Name="DBusAnnotationInfo" Kind="Class" />
       <Type Name="DBusArgInfo" Kind="Class" />
       <Type Name="DBusAuth" Kind="Class" />
@@ -543,7 +487,6 @@
       <Type Name="DesktopAppInfo" Kind="Class" />
       <Type Name="DestroyHelper" Kind="Class" />
       <Type Name="DestroyNotify" Kind="Delegate" />
-      <Type Name="Drive" Kind="Interface" />
       <Type Name="DriveAdapter" Kind="Class" />
       <Type Name="DriveChangedArgs" Kind="Class" />
       <Type Name="DriveChangedHandler" Kind="Delegate" />
@@ -568,7 +511,6 @@
       <Type Name="ExceptionManager" Kind="Class" />
       <Type Name="ExportedObject" Kind="Class" />
       <Type Name="ExportedSubtree" Kind="Class" />
-      <Type Name="File" Kind="Interface" />
       <Type Name="FileAdapter" Kind="Class" />
       <Type Name="FileAttributeInfo" Kind="Structure" />
       <Type Name="FileAttributeInfoFlags" Kind="Enumeration" />
@@ -579,9 +521,7 @@
       <Type Name="FileChange" Kind="Class" />
       <Type Name="FileCopyFlags" Kind="Enumeration" />
       <Type Name="FileCreateFlags" Kind="Enumeration" />
-      <Type Name="FileDescriptorBased" Kind="Interface" />
       <Type Name="FileDescriptorBasedAdapter" Kind="Class" />
-      <Type Name="FileDescriptorBasedImplementor" Kind="Interface" />
       <Type Name="FileEnumerator" Kind="Class" />
       <Type Name="FileFactory" Kind="Class" />
       <Type Name="FileIcon" Kind="Class" />
@@ -607,6 +547,7 @@
       <Type Name="GInterfaceInitHandler" Kind="Delegate" />
       <Type Name="GioGlobal" Kind="Class" />
       <Type Name="GioStream" Kind="Class" />
+      <Type Name="GLibSynchronizationContext" Kind="Class" />
       <Type Name="Global" Kind="Class" />
       <Type Name="GPropertiesChangedArgs" Kind="Class" />
       <Type Name="GPropertiesChangedHandler" Kind="Delegate" />
@@ -616,24 +557,42 @@
       <Type Name="GString" Kind="Class" />
       <Type Name="GType" Kind="Structure" />
       <Type Name="GTypeAttribute" Kind="Class" />
-      <Type Name="Icon" Kind="Interface" />
+      <Type Name="IAction" Kind="Interface" />
+      <Type Name="IActionGroup" Kind="Interface" />
+      <Type Name="IActionGroupImplementor" Kind="Interface" />
+      <Type Name="IActionImplementor" Kind="Interface" />
+      <Type Name="IAppInfo" Kind="Interface" />
+      <Type Name="IAsyncInitable" Kind="Interface" />
+      <Type Name="IAsyncInitableImplementor" Kind="Interface" />
+      <Type Name="IAsyncResult" Kind="Interface" />
+      <Type Name="IAsyncResultImplementor" Kind="Interface" />
       <Type Name="IconAdapter" Kind="Class" />
+      <Type Name="IConverter" Kind="Interface" />
+      <Type Name="IConverterImplementor" Kind="Interface" />
       <Type Name="Idle" Kind="Class" />
       <Type Name="IdleHandler" Kind="Delegate" />
+      <Type Name="IDrive" Kind="Interface" />
+      <Type Name="IFile" Kind="Interface" />
+      <Type Name="IFileDescriptorBased" Kind="Interface" />
+      <Type Name="IFileDescriptorBasedImplementor" Kind="Interface" />
+      <Type Name="IIcon" Kind="Interface" />
+      <Type Name="IInitable" Kind="Interface" />
+      <Type Name="IInitableImplementor" Kind="Interface" />
+      <Type Name="ILoadableIcon" Kind="Interface" />
+      <Type Name="ILoadableIconImplementor" Kind="Interface" />
+      <Type Name="IMount" Kind="Interface" />
       <Type Name="IncomingArgs" Kind="Class" />
       <Type Name="IncomingHandler" Kind="Delegate" />
       <Type Name="InetAddress" Kind="Class" />
       <Type Name="InetSocketAddress" Kind="Class" />
-      <Type Name="Initable" Kind="Interface" />
       <Type Name="InitableAdapter" Kind="Class" />
-      <Type Name="InitableImplementor" Kind="Interface" />
       <Type Name="InitiallyUnowned" Kind="Class" />
       <Type Name="InputStream" Kind="Class" />
       <Type Name="InputVector" Kind="Structure" />
-      <Type Name="Io" Kind="Class" />
       <Type Name="IOChannel" Kind="Class" />
       <Type Name="IOChannelError" Kind="Enumeration" />
       <Type Name="IOCondition" Kind="Enumeration" />
+      <Type Name="IOError" Kind="Class" />
       <Type Name="IOErrorEnum" Kind="Enumeration" />
       <Type Name="IOExtension" Kind="Class" />
       <Type Name="IOExtensionPoint" Kind="Class" />
@@ -646,6 +605,22 @@
       <Type Name="IOStream" Kind="Class" />
       <Type Name="IOStreamAdapter" Kind="Class" />
       <Type Name="IOStreamSpliceFlags" Kind="Enumeration" />
+      <Type Name="IPollableInputStream" Kind="Interface" />
+      <Type Name="IPollableInputStreamImplementor" Kind="Interface" />
+      <Type Name="IPollableOutputStream" Kind="Interface" />
+      <Type Name="IPollableOutputStreamImplementor" Kind="Interface" />
+      <Type Name="IProxy" Kind="Interface" />
+      <Type Name="IProxyImplementor" Kind="Interface" />
+      <Type Name="IProxyResolver" Kind="Interface" />
+      <Type Name="IProxyResolverImplementor" Kind="Interface" />
+      <Type Name="ISeekable" Kind="Interface" />
+      <Type Name="ISocketConnectable" Kind="Interface" />
+      <Type Name="ISocketConnectableImplementor" Kind="Interface" />
+      <Type Name="ITlsClientConnection" Kind="Interface" />
+      <Type Name="ITlsClientConnectionImplementor" Kind="Interface" />
+      <Type Name="ITlsServerConnection" Kind="Interface" />
+      <Type Name="ITlsServerConnectionImplementor" Kind="Interface" />
+      <Type Name="IVolume" Kind="Interface" />
       <Type Name="IWrapper" Kind="Interface" />
       <Type Name="KeyFile" Kind="Class" />
       <Type Name="KeyFileError" Kind="Enumeration" />
@@ -653,9 +628,7 @@
       <Type Name="List" Kind="Class" />
       <Type Name="ListBase" Kind="Class" />
       <Type Name="ListBase+FilenameString" Kind="Class" />
-      <Type Name="LoadableIcon" Kind="Interface" />
       <Type Name="LoadableIconAdapter" Kind="Class" />
-      <Type Name="LoadableIconImplementor" Kind="Interface" />
       <Type Name="LocalDirectoryMonitor" Kind="Class" />
       <Type Name="LocalFileEnumerator" Kind="Class" />
       <Type Name="LocalFileIOStream" Kind="Class" />
@@ -670,7 +643,6 @@
       <Type Name="MemoryOutputStream" Kind="Class" />
       <Type Name="MessageToWriteData" Kind="Class" />
       <Type Name="MissingIntPtrCtorException" Kind="Class" />
-      <Type Name="Mount" Kind="Interface" />
       <Type Name="MountAdapter" Kind="Class" />
       <Type Name="MountAddedArgs" Kind="Class" />
       <Type Name="MountAddedHandler" Kind="Delegate" />
@@ -684,6 +656,7 @@
       <Type Name="MountRemovedArgs" Kind="Class" />
       <Type Name="MountRemovedHandler" Kind="Delegate" />
       <Type Name="MountUnmountFlags" Kind="Enumeration" />
+      <Type Name="Mutex" Kind="Class" />
       <Type Name="NativeVolumeMonitor" Kind="Class" />
       <Type Name="NetworkAddress" Kind="Class" />
       <Type Name="NetworkService" Kind="Class" />
@@ -702,27 +675,21 @@
       <Type Name="ParamSpec" Kind="Class" />
       <Type Name="PasswordSave" Kind="Enumeration" />
       <Type Name="Permission" Kind="Class" />
-      <Type Name="PollableInputStream" Kind="Interface" />
       <Type Name="PollableInputStreamAdapter" Kind="Class" />
-      <Type Name="PollableInputStreamImplementor" Kind="Interface" />
-      <Type Name="PollableOutputStream" Kind="Interface" />
       <Type Name="PollableOutputStreamAdapter" Kind="Class" />
-      <Type Name="PollableOutputStreamImplementor" Kind="Interface" />
       <Type Name="PollableSourceFunc" Kind="Delegate" />
+      <Type Name="PollFD" Kind="Structure" />
       <Type Name="PrintFunc" Kind="Delegate" />
       <Type Name="Priority" Kind="Enumeration" />
       <Type Name="Process" Kind="Class" />
       <Type Name="PropertyAttribute" Kind="Class" />
-      <Type Name="Proxy" Kind="Interface" />
       <Type Name="ProxyAdapter" Kind="Class" />
       <Type Name="ProxyAddress" Kind="Class" />
       <Type Name="ProxyAddressEnumerator" Kind="Class" />
-      <Type Name="ProxyImplementor" Kind="Interface" />
-      <Type Name="ProxyResolver" Kind="Interface" />
       <Type Name="ProxyResolverAdapter" Kind="Class" />
-      <Type Name="ProxyResolverImplementor" Kind="Interface" />
       <Type Name="PtrArray" Kind="Class" />
       <Type Name="ReallocFunc" Kind="Delegate" />
+      <Type Name="RecMutex" Kind="Class" />
       <Type Name="RemoteActionInfo" Kind="Structure" />
       <Type Name="ReplyArgs" Kind="Class" />
       <Type Name="ReplyHandler" Kind="Delegate" />
@@ -731,9 +698,7 @@
       <Type Name="RunArgs" Kind="Class" />
       <Type Name="RunHandler" Kind="Delegate" />
       <Type Name="SchemaState" Kind="Class" />
-      <Type Name="Seekable" Kind="Interface" />
       <Type Name="SeekableAdapter" Kind="Class" />
-      <Type Name="SeekableImplementor" Kind="Interface" />
       <Type Name="SeekType" Kind="Enumeration" />
       <Type Name="Settings" Kind="Class" />
       <Type Name="SettingsBackend" Kind="Class" />
@@ -754,7 +719,6 @@
       <Type Name="Signal+InvocationHint" Kind="Structure" />
       <Type Name="SignalArgs" Kind="Class" />
       <Type Name="SignalAttribute" Kind="Class" />
-      <Type Name="Simple" Kind="Class" />
       <Type Name="SimpleAction" Kind="Class" />
       <Type Name="SimpleActionGroup" Kind="Class" />
       <Type Name="SimpleAsyncResult" Kind="Class" />
@@ -765,21 +729,26 @@
       <Type Name="SocketAddress" Kind="Class" />
       <Type Name="SocketAddressEnumerator" Kind="Class" />
       <Type Name="SocketClient" Kind="Class" />
-      <Type Name="SocketConnectable" Kind="Interface" />
       <Type Name="SocketConnectableAdapter" Kind="Class" />
-      <Type Name="SocketConnectableImplementor" Kind="Interface" />
       <Type Name="SocketConnection" Kind="Class" />
       <Type Name="SocketControlMessage" Kind="Class" />
+      <Type Name="SocketFamily" Kind="Enumeration" />
       <Type Name="SocketInputStream" Kind="Class" />
       <Type Name="SocketListener" Kind="Class" />
+      <Type Name="SocketMsgFlags" Kind="Enumeration" />
       <Type Name="SocketOutputStream" Kind="Class" />
       <Type Name="SocketProtocol" Kind="Enumeration" />
       <Type Name="SocketService" Kind="Class" />
+      <Type Name="SocketSourceFunc" Kind="Delegate" />
       <Type Name="SocketType" Kind="Enumeration" />
       <Type Name="Socks4aProxy" Kind="Class" />
       <Type Name="Socks4Proxy" Kind="Class" />
       <Type Name="Socks5Proxy" Kind="Class" />
       <Type Name="Source" Kind="Class" />
+      <Type Name="SourceCallbackFuncs" Kind="Structure" />
+      <Type Name="SourceDummyMarshal" Kind="Delegate" />
+      <Type Name="SourceFunc" Kind="Delegate" />
+      <Type Name="SourceFuncs" Kind="Structure" />
       <Type Name="SpawnChildSetupFunc" Kind="Delegate" />
       <Type Name="SpawnError" Kind="Enumeration" />
       <Type Name="SpawnFlags" Kind="Enumeration" />
@@ -793,20 +762,18 @@
       <Type Name="ThreadedSocketService" Kind="Class" />
       <Type Name="Timeout" Kind="Class" />
       <Type Name="TimeoutHandler" Kind="Delegate" />
+      <Type Name="TimeVal" Kind="Structure" />
+      <Type Name="TimeZone" Kind="Class" />
       <Type Name="TlsAuthenticationMode" Kind="Enumeration" />
       <Type Name="TlsCertificate" Kind="Class" />
       <Type Name="TlsCertificateFlags" Kind="Enumeration" />
-      <Type Name="TlsClientConnection" Kind="Interface" />
       <Type Name="TlsClientConnectionAdapter" Kind="Class" />
-      <Type Name="TlsClientConnectionImplementor" Kind="Interface" />
       <Type Name="TlsClientContext" Kind="Class" />
       <Type Name="TlsConnection" Kind="Class" />
       <Type Name="TlsContext" Kind="Class" />
       <Type Name="TlsError" Kind="Enumeration" />
       <Type Name="TlsRehandshakeMode" Kind="Enumeration" />
-      <Type Name="TlsServerConnection" Kind="Interface" />
       <Type Name="TlsServerConnectionAdapter" Kind="Class" />
-      <Type Name="TlsServerConnectionImplementor" Kind="Interface" />
       <Type Name="TlsServerContext" Kind="Class" />
       <Type Name="TypeFundamentals" Kind="Enumeration" />
       <Type Name="TypeInitializerAttribute" Kind="Class" />
@@ -826,7 +793,6 @@
       <Type Name="Variant" Kind="Class" />
       <Type Name="VariantType" Kind="Class" />
       <Type Name="Vfs" Kind="Class" />
-      <Type Name="Volume" Kind="Interface" />
       <Type Name="VolumeAdapter" Kind="Class" />
       <Type Name="VolumeAddedArgs" Kind="Class" />
       <Type Name="VolumeAddedHandler" Kind="Delegate" />
@@ -850,7 +816,6 @@
     </Namespace>
     <Namespace Name="Gtk">
       <Type Name="AboutDialog" Kind="Class" />
-      <Type Name="AboutDialogActivateLinkFunc" />
       <Type Name="Accel" Kind="Class" />
       <Type Name="AccelActivateArgs" Kind="Class" />
       <Type Name="AccelActivateHandler" Kind="Delegate" />
@@ -880,9 +845,7 @@
       <Type Name="ActionActivatedHandler" Kind="Delegate" />
       <Type Name="ActionEntry" Kind="Structure" />
       <Type Name="ActionGroup" Kind="Class" />
-      <Type Name="Activatable" Kind="Interface" />
       <Type Name="ActivatableAdapter" Kind="Class" />
-      <Type Name="ActivatableImplementor" Kind="Interface" />
       <Type Name="ActivateCurrentArgs" Kind="Class" />
       <Type Name="ActivateCurrentHandler" Kind="Delegate" />
       <Type Name="ActivateCursorItemArgs" Kind="Class" />
@@ -900,10 +863,8 @@
       <Type Name="Adjustment" Kind="Class" />
       <Type Name="Align" Kind="Enumeration" />
       <Type Name="Alignment" Kind="Class" />
-      <Type Name="AnchorType" />
       <Type Name="AnimationDescription" Kind="Class" />
       <Type Name="AnimationInfo" Kind="Class" />
-      <Type Name="AppChooser" Kind="Interface" />
       <Type Name="AppChooserAdapter" Kind="Class" />
       <Type Name="AppChooserButton" Kind="Class" />
       <Type Name="AppChooserDialog" Kind="Class" />
@@ -914,7 +875,6 @@
       <Type Name="ApplicationActivatedHandler" Kind="Delegate" />
       <Type Name="ApplicationSelectedArgs" Kind="Class" />
       <Type Name="ApplicationSelectedHandler" Kind="Delegate" />
-      <Type Name="Arg" />
       <Type Name="Arrow" Kind="Class" />
       <Type Name="ArrowPlacement" Kind="Enumeration" />
       <Type Name="ArrowType" Kind="Enumeration" />
@@ -959,7 +919,6 @@
       <Type Name="CalendarDetailFunc" Kind="Delegate" />
       <Type Name="CalendarDisplayOptions" Kind="Enumeration" />
       <Type Name="Callback" Kind="Delegate" />
-      <Type Name="CallbackMarshal" />
       <Type Name="CancelPositionArgs" Kind="Class" />
       <Type Name="CancelPositionHandler" Kind="Delegate" />
       <Type Name="CellAllocCallback" Kind="Delegate" />
@@ -969,14 +928,10 @@
       <Type Name="CellAreaBoxContextClass" Kind="Class" />
       <Type Name="CellAreaContext" Kind="Class" />
       <Type Name="CellCallback" Kind="Delegate" />
-      <Type Name="CellEditable" Kind="Interface" />
       <Type Name="CellEditableAdapter" Kind="Class" />
       <Type Name="CellEditableEventBox" Kind="Class" />
-      <Type Name="CellEditableImplementor" Kind="Interface" />
-      <Type Name="CellLayout" Kind="Interface" />
       <Type Name="CellLayoutAdapter" Kind="Class" />
       <Type Name="CellLayoutDataFunc" Kind="Delegate" />
-      <Type Name="CellLayoutImplementor" Kind="Interface" />
       <Type Name="CellRenderer" Kind="Class" />
       <Type Name="CellRendererAccel" Kind="Class" />
       <Type Name="CellRendererAccelMode" Kind="Enumeration" />
@@ -1007,8 +962,6 @@
       <Type Name="ChildNotifiedArgs" Kind="Class" />
       <Type Name="ChildNotifiedHandler" Kind="Delegate" />
       <Type Name="ChildPropertyAttribute" Kind="Class" />
-      <Type Name="ClientEventArgs" />
-      <Type Name="ClientEventHandler" />
       <Type Name="Clipboard" Kind="Class" />
       <Type Name="Clipboard+RichTextReceivedFunc" Kind="Delegate" />
       <Type Name="ClipboardClearFunc" Kind="Delegate" />
@@ -1025,9 +978,7 @@
       <Type Name="ColorSelectionChangePaletteWithScreenFunc" Kind="Delegate" />
       <Type Name="ColorSelectionDialog" Kind="Class" />
       <Type Name="ColorStop" Kind="Class" />
-      <Type Name="Combo" />
       <Type Name="ComboBox" Kind="Class" />
-      <Type Name="ComboBoxEntry" />
       <Type Name="ComboBoxText" Kind="Class" />
       <Type Name="CommitArgs" Kind="Class" />
       <Type Name="CommitHandler" Kind="Delegate" />
@@ -1053,18 +1004,8 @@
       <Type Name="CreateWindowHandler" Kind="Delegate" />
       <Type Name="CssProvider" Kind="Class" />
       <Type Name="CssProviderError" Kind="Enumeration" />
-      <Type Name="CurrentParagraphAlignmentChangedArgs" />
-      <Type Name="CurrentParagraphAlignmentChangedHandler" />
-      <Type Name="CurrentParagraphIndentationChangedArgs" />
-      <Type Name="CurrentParagraphIndentationChangedHandler" />
-      <Type Name="CurrentParagraphStyleChangedArgs" />
-      <Type Name="CurrentParagraphStyleChangedHandler" />
-      <Type Name="CursorMoveArgs" />
-      <Type Name="CursorMoveHandler" />
       <Type Name="CursorOnMatchArgs" Kind="Class" />
       <Type Name="CursorOnMatchHandler" Kind="Delegate" />
-      <Type Name="Curve" />
-      <Type Name="CurveType" />
       <Type Name="CustomItemActivatedArgs" Kind="Class" />
       <Type Name="CustomItemActivatedHandler" Kind="Delegate" />
       <Type Name="CustomPaperUnixDialog" Kind="Class" />
@@ -1090,7 +1031,6 @@
       <Type Name="DestDefaults" Kind="Enumeration" />
       <Type Name="DestroyEventArgs" Kind="Class" />
       <Type Name="DestroyEventHandler" Kind="Delegate" />
-      <Type Name="DestroyNotify" />
       <Type Name="DetailsAcquiredArgs" Kind="Class" />
       <Type Name="DetailsAcquiredHandler" Kind="Delegate" />
       <Type Name="Device" Kind="Class" />
@@ -1100,8 +1040,6 @@
       <Type Name="DirectionChangedArgs" Kind="Class" />
       <Type Name="DirectionChangedHandler" Kind="Delegate" />
       <Type Name="DirectionType" Kind="Enumeration" />
-      <Type Name="DisableDeviceArgs" />
-      <Type Name="DisableDeviceHandler" />
       <Type Name="DisconnectProxyArgs" Kind="Class" />
       <Type Name="DisconnectProxyHandler" Kind="Delegate" />
       <Type Name="DoneArgs" Kind="Class" />
@@ -1132,25 +1070,16 @@
       <Type Name="DragResult" Kind="Enumeration" />
       <Type Name="DragSourceInfo" Kind="Class" />
       <Type Name="DragSourceSite" Kind="Class" />
-      <Type Name="Draw" />
-      <Type Name="DrawGdkArgs" />
-      <Type Name="DrawGdkHandler" />
       <Type Name="DrawingArea" Kind="Class" />
       <Type Name="DrawnArgs" Kind="Class" />
       <Type Name="DrawnHandler" Kind="Delegate" />
       <Type Name="DrawPageArgs" Kind="Class" />
       <Type Name="DrawPageHandler" Kind="Delegate" />
-      <Type Name="DrawPrintArgs" />
-      <Type Name="DrawPrintHandler" />
-      <Type Name="Editable" Kind="Interface" />
       <Type Name="EditableAdapter" Kind="Class" />
-      <Type Name="EditableImplementor" Kind="Interface" />
       <Type Name="EditedArgs" Kind="Class" />
       <Type Name="EditedHandler" Kind="Delegate" />
       <Type Name="EditingStartedArgs" Kind="Class" />
       <Type Name="EditingStartedHandler" Kind="Delegate" />
-      <Type Name="EnableDeviceArgs" />
-      <Type Name="EnableDeviceHandler" />
       <Type Name="EndPrintArgs" Kind="Class" />
       <Type Name="EndPrintHandler" Kind="Delegate" />
       <Type Name="EnterNotifyEventArgs" Kind="Class" />
@@ -1168,9 +1097,6 @@
       <Type Name="ExpandCollapseCursorRowHandler" Kind="Delegate" />
       <Type Name="Expander" Kind="Class" />
       <Type Name="ExpanderStyle" Kind="Enumeration" />
-      <Type Name="ExposeEventArgs" />
-      <Type Name="ExposeEventHandler" />
-      <Type Name="FileChooser" Kind="Interface" />
       <Type Name="FileChooserAction" Kind="Enumeration" />
       <Type Name="FileChooserAdapter" Kind="Class" />
       <Type Name="FileChooserButton" Kind="Class" />
@@ -1182,8 +1108,6 @@
       <Type Name="FileFilterFlags" Kind="Enumeration" />
       <Type Name="FileFilterFunc" Kind="Delegate" />
       <Type Name="FileFilterInfo" Kind="Structure" />
-      <Type Name="FileSelection" />
-      <Type Name="FileSelection+FSButton" />
       <Type Name="FillLayoutRenderer" Kind="Class" />
       <Type Name="FillLayoutRendererClass" Kind="Class" />
       <Type Name="FilterElt" Kind="Class" />
@@ -1212,12 +1136,7 @@
       <Type Name="FormatValueHandler" Kind="Delegate" />
       <Type Name="Frame" Kind="Class" />
       <Type Name="FrameArgs" Kind="Class" />
-      <Type Name="FrameEventArgs" />
-      <Type Name="FrameEventHandler" />
       <Type Name="FrameHandler" Kind="Delegate" />
-      <Type Name="Function" />
-      <Type Name="GammaCurve" />
-      <Type Name="Gc" />
       <Type Name="Global" Kind="Class" />
       <Type Name="GotPageSizeArgs" Kind="Class" />
       <Type Name="GotPageSizeHandler" Kind="Delegate" />
@@ -1244,30 +1163,17 @@
       <Type Name="HierarchyChangedArgs" Kind="Class" />
       <Type Name="HierarchyChangedHandler" Kind="Delegate" />
       <Type Name="HPaned" Kind="Class" />
-      <Type Name="HRuler" />
       <Type Name="HScale" Kind="Class" />
       <Type Name="HScrollbar" Kind="Class" />
       <Type Name="HSeparator" Kind="Class" />
       <Type Name="HSV" Kind="Class" />
-      <Type Name="HTML" />
-      <Type Name="HTMLBeginFlags" />
-      <Type Name="HTMLClassProperties" />
-      <Type Name="HTMLCommandType" />
-      <Type Name="HTMLCursorSkipType" />
-      <Type Name="HTMLEditorAPI" />
-      <Type Name="HTMLEditorEventType" />
-      <Type Name="HTMLEmbedded" />
-      <Type Name="HTMLFontStyle" />
-      <Type Name="HTMLFontStyleShift" />
-      <Type Name="HTMLParagraphAlignment" />
-      <Type Name="HTMLParagraphStyle" />
-      <Type Name="HTMLPrintCallback" />
-      <Type Name="HTMLSaveReceiverFn" />
-      <Type Name="HTMLStream" />
-      <Type Name="HTMLStreamCloseFunc" />
-      <Type Name="HTMLStreamStatus" />
-      <Type Name="HTMLStreamTypesFunc" />
-      <Type Name="HTMLStreamWriteFunc" />
+      <Type Name="IActivatable" Kind="Interface" />
+      <Type Name="IActivatableImplementor" Kind="Interface" />
+      <Type Name="IAppChooser" Kind="Interface" />
+      <Type Name="ICellEditable" Kind="Interface" />
+      <Type Name="ICellEditableImplementor" Kind="Interface" />
+      <Type Name="ICellLayout" Kind="Interface" />
+      <Type Name="ICellLayoutImplementor" Kind="Interface" />
       <Type Name="Icon" Kind="Class" />
       <Type Name="IconAlias" Kind="Class" />
       <Type Name="IconFactory" Kind="Class" />
@@ -1287,8 +1193,9 @@
       <Type Name="IconViewDropPosition" Kind="Enumeration" />
       <Type Name="IconViewForeachFunc" Kind="Delegate" />
       <Type Name="IconViewItem" Kind="Class" />
-      <Type Name="IframeCreatedArgs" />
-      <Type Name="IframeCreatedHandler" />
+      <Type Name="IEditable" Kind="Interface" />
+      <Type Name="IEditableImplementor" Kind="Interface" />
+      <Type Name="IFileChooser" Kind="Interface" />
       <Type Name="Image" Kind="Class" />
       <Type Name="ImageGIconData" Kind="Class" />
       <Type Name="ImageIconNameData" Kind="Class" />
@@ -1303,29 +1210,38 @@
       <Type Name="IncrInfo" Kind="Class" />
       <Type Name="InfoBar" Kind="Class" />
       <Type Name="Init" Kind="Class" />
-      <Type Name="Input" />
       <Type Name="InputArgs" Kind="Class" />
-      <Type Name="InputDialog" />
       <Type Name="InputHandler" Kind="Delegate" />
       <Type Name="InsertAtCursorArgs" Kind="Class" />
       <Type Name="InsertAtCursorHandler" Kind="Delegate" />
       <Type Name="InsertedTextArgs" Kind="Class" />
       <Type Name="InsertedTextHandler" Kind="Delegate" />
-      <Type Name="InsertionColorChangedArgs" />
-      <Type Name="InsertionColorChangedHandler" />
-      <Type Name="InsertionFontStyleChangedArgs" />
-      <Type Name="InsertionFontStyleChangedHandler" />
       <Type Name="InsertTextArgs" Kind="Class" />
       <Type Name="InsertTextHandler" Kind="Delegate" />
       <Type Name="Invisible" Kind="Class" />
-      <Type Name="Item" />
+      <Type Name="IOrientable" Kind="Interface" />
+      <Type Name="IOrientableImplementor" Kind="Interface" />
+      <Type Name="IPrintOperationPreview" Kind="Interface" />
+      <Type Name="IPrintOperationPreviewImplementor" Kind="Interface" />
+      <Type Name="IRecentChooser" Kind="Interface" />
+      <Type Name="IRecentChooserImplementor" Kind="Interface" />
+      <Type Name="IScrollable" Kind="Interface" />
+      <Type Name="IScrollableImplementor" Kind="Interface" />
+      <Type Name="IStyleProvider" Kind="Interface" />
+      <Type Name="IStyleProviderImplementor" Kind="Interface" />
       <Type Name="ItemActivatedArgs" Kind="Class" />
       <Type Name="ItemActivatedHandler" Kind="Delegate" />
-      <Type Name="ItemFactory" />
-      <Type Name="ItemFactoryCallback" />
-      <Type Name="ItemFactoryCallback1" />
-      <Type Name="ItemFactoryEntry" />
+      <Type Name="IToolShell" Kind="Interface" />
+      <Type Name="IToolShellImplementor" Kind="Interface" />
+      <Type Name="ITreeDragDest" Kind="Interface" />
+      <Type Name="ITreeDragDestImplementor" Kind="Interface" />
+      <Type Name="ITreeDragSource" Kind="Interface" />
+      <Type Name="ITreeDragSourceImplementor" Kind="Interface" />
+      <Type Name="ITreeModel" Kind="Interface" />
+      <Type Name="ITreeModelImplementor" Kind="Interface" />
       <Type Name="ITreeNode" Kind="Interface" />
+      <Type Name="ITreeSortable" Kind="Interface" />
+      <Type Name="ITreeSortableImplementor" Kind="Interface" />
       <Type Name="JunctionSides" Kind="Enumeration" />
       <Type Name="Justification" Kind="Enumeration" />
       <Type Name="Key" Kind="Class" />
@@ -1345,8 +1261,6 @@
       <Type Name="License" Kind="Enumeration" />
       <Type Name="LinesWindow" Kind="Class" />
       <Type Name="LinkButton" Kind="Class" />
-      <Type Name="LinkClickedArgs" />
-      <Type Name="LinkClickedHandler" />
       <Type Name="ListStore" Kind="Class" />
       <Type Name="LoadState" Kind="Enumeration" />
       <Type Name="LocationMode" Kind="Enumeration" />
@@ -1361,17 +1275,14 @@
       <Type Name="MarkSetHandler" Kind="Delegate" />
       <Type Name="MatchSelectedArgs" Kind="Class" />
       <Type Name="MatchSelectedHandler" Kind="Delegate" />
-      <Type Name="MatchType" />
       <Type Name="Menu" Kind="Class" />
       <Type Name="Menu+MenuChild" Kind="Class" />
       <Type Name="MenuActivateArgs" Kind="Class" />
       <Type Name="MenuActivateHandler" Kind="Delegate" />
       <Type Name="MenuAttachData" Kind="Class" />
       <Type Name="MenuBar" Kind="Class" />
-      <Type Name="MenuCallback" />
       <Type Name="MenuDetachFunc" Kind="Delegate" />
       <Type Name="MenuDirectionType" Kind="Enumeration" />
-      <Type Name="MenuEntry" />
       <Type Name="MenuItem" Kind="Class" />
       <Type Name="MenuPopdownData" Kind="Class" />
       <Type Name="MenuPositionFunc" Kind="Delegate" />
@@ -1379,7 +1290,6 @@
       <Type Name="MenuToolButton" Kind="Class" />
       <Type Name="MessageDialog" Kind="Class" />
       <Type Name="MessageType" Kind="Enumeration" />
-      <Type Name="MetricType" />
       <Type Name="Misc" Kind="Class" />
       <Type Name="MnemonicActivatedArgs" Kind="Class" />
       <Type Name="MnemonicActivatedHandler" Kind="Delegate" />
@@ -1420,26 +1330,14 @@
       <Type Name="NodeStore" Kind="Class" />
       <Type Name="NodeUIReference" Kind="Class" />
       <Type Name="NodeView" Kind="Class" />
-      <Type Name="NoExposeEventArgs" />
-      <Type Name="NoExposeEventHandler" />
       <Type Name="Notebook" Kind="Class" />
       <Type Name="Notebook+NotebookChild" Kind="Class" />
       <Type Name="NotebookPage" Kind="Class" />
       <Type Name="NotebookTab" Kind="Enumeration" />
       <Type Name="NumberUpLayout" Kind="Enumeration" />
       <Type Name="NumerableIcon" Kind="Class" />
-      <Type Name="Object" />
-      <Type Name="ObjectRequestedArgs" />
-      <Type Name="ObjectRequestedHandler" />
       <Type Name="OffscreenWindow" Kind="Class" />
-      <Type Name="OnCommandArgs" />
-      <Type Name="OnCommandHandler" />
-      <Type Name="OnUrlArgs" />
-      <Type Name="OnUrlHandler" />
-      <Type Name="OptionMenu" />
-      <Type Name="Orientable" Kind="Interface" />
       <Type Name="OrientableAdapter" Kind="Class" />
-      <Type Name="OrientableImplementor" Kind="Interface" />
       <Type Name="Orientation" Kind="Enumeration" />
       <Type Name="OrientationChangedArgs" Kind="Class" />
       <Type Name="OrientationChangedHandler" Kind="Delegate" />
@@ -1451,8 +1349,6 @@
       <Type Name="PackType" Kind="Enumeration" />
       <Type Name="PageAddedArgs" Kind="Class" />
       <Type Name="PageAddedHandler" Kind="Delegate" />
-      <Type Name="PageHorizontallyArgs" />
-      <Type Name="PageHorizontallyHandler" />
       <Type Name="PageOrientation" Kind="Enumeration" />
       <Type Name="PageRange" Kind="Structure" />
       <Type Name="PageRemovedArgs" Kind="Class" />
@@ -1501,7 +1397,6 @@
       <Type Name="PrepareHandler" Kind="Delegate" />
       <Type Name="PreviewArgs" Kind="Class" />
       <Type Name="PreviewHandler" Kind="Delegate" />
-      <Type Name="PreviewType" />
       <Type Name="Print" Kind="Class" />
       <Type Name="PrintBackend" Kind="Class" />
       <Type Name="PrintBackendModule" Kind="Class" />
@@ -1513,14 +1408,11 @@
       <Type Name="PrinterFinder" Kind="Class" />
       <Type Name="PrinterFunc" Kind="Delegate" />
       <Type Name="PrintError" Kind="Enumeration" />
-      <Type Name="PrintFunc" />
       <Type Name="PrintJob" Kind="Class" />
       <Type Name="PrintJobCompleteFunc" Kind="Delegate" />
       <Type Name="PrintOperation" Kind="Class" />
       <Type Name="PrintOperationAction" Kind="Enumeration" />
-      <Type Name="PrintOperationPreview" Kind="Interface" />
       <Type Name="PrintOperationPreviewAdapter" Kind="Class" />
-      <Type Name="PrintOperationPreviewImplementor" Kind="Interface" />
       <Type Name="PrintOperationResult" Kind="Enumeration" />
       <Type Name="PrintPages" Kind="Enumeration" />
       <Type Name="PrintPagesData" Kind="Class" />
@@ -1531,8 +1423,6 @@
       <Type Name="PrintUnixDialog" Kind="Class" />
       <Type Name="PrintWin32Devnames" Kind="Structure" />
       <Type Name="ProgressBar" Kind="Class" />
-      <Type Name="ProgressBarOrientation" />
-      <Type Name="ProgressBarStyle" />
       <Type Name="PropertyData" Kind="Class" />
       <Type Name="PropertyNode" Kind="Class" />
       <Type Name="PropertyNotifyEventArgs" Kind="Class" />
@@ -1544,7 +1434,6 @@
       <Type Name="ProximityOutEventHandler" Kind="Delegate" />
       <Type Name="QueryTooltipArgs" Kind="Class" />
       <Type Name="QueryTooltipHandler" Kind="Delegate" />
-      <Type Name="Quit" />
       <Type Name="RadioAction" Kind="Class" />
       <Type Name="RadioActionEntry" Kind="Structure" />
       <Type Name="RadioButton" Kind="Class" />
@@ -1559,12 +1448,10 @@
       <Type Name="ReadyEvent" Kind="Delegate" />
       <Type Name="ReadyHandler" Kind="Delegate" />
       <Type Name="RecentAction" Kind="Class" />
-      <Type Name="RecentChooser" Kind="Interface" />
       <Type Name="RecentChooserAdapter" Kind="Class" />
       <Type Name="RecentChooserDefault" Kind="Class" />
       <Type Name="RecentChooserDialog" Kind="Class" />
       <Type Name="RecentChooserError" Kind="Enumeration" />
-      <Type Name="RecentChooserImplementor" Kind="Interface" />
       <Type Name="RecentChooserMenu" Kind="Class" />
       <Type Name="RecentChooserProp" Kind="Enumeration" />
       <Type Name="RecentChooserWidget" Kind="Class" />
@@ -1578,8 +1465,6 @@
       <Type Name="RecentManagerError" Kind="Enumeration" />
       <Type Name="RecentSortFunc" Kind="Delegate" />
       <Type Name="RecentSortType" Kind="Enumeration" />
-      <Type Name="RedirectArgs" />
-      <Type Name="RedirectHandler" />
       <Type Name="Region" Kind="Class" />
       <Type Name="RegionFlags" Kind="Enumeration" />
       <Type Name="ReliefStyle" Kind="Enumeration" />
@@ -1626,27 +1511,19 @@
       <Type Name="RowInsertedHandler" Kind="Delegate" />
       <Type Name="RowsReorderedArgs" Kind="Class" />
       <Type Name="RowsReorderedHandler" Kind="Delegate" />
-      <Type Name="Ruler" />
-      <Type Name="RulerMetric" />
       <Type Name="Scale" Kind="Class" />
       <Type Name="ScaleButton" Kind="Class" />
       <Type Name="ScaleMark" Kind="Class" />
       <Type Name="ScreenChangedArgs" Kind="Class" />
       <Type Name="ScreenChangedHandler" Kind="Delegate" />
-      <Type Name="Scrollable" Kind="Interface" />
       <Type Name="ScrollableAdapter" Kind="Class" />
-      <Type Name="ScrollableImplementor" Kind="Interface" />
       <Type Name="ScrollablePolicy" Kind="Enumeration" />
-      <Type Name="ScrollAdjustmentsSetArgs" />
-      <Type Name="ScrollAdjustmentsSetHandler" />
-      <Type Name="ScrollArgs" />
       <Type Name="Scrollbar" Kind="Class" />
       <Type Name="ScrollChildArgs" Kind="Class" />
       <Type Name="ScrollChildHandler" Kind="Delegate" />
       <Type Name="ScrolledWindow" Kind="Class" />
       <Type Name="ScrollEventArgs" Kind="Class" />
       <Type Name="ScrollEventHandler" Kind="Delegate" />
-      <Type Name="ScrollHandler" />
       <Type Name="ScrollStep" Kind="Enumeration" />
       <Type Name="ScrollType" Kind="Enumeration" />
       <Type Name="SelectAllArgs" Kind="Class" />
@@ -1679,10 +1556,6 @@
       <Type Name="Separator" Kind="Class" />
       <Type Name="SeparatorMenuItem" Kind="Class" />
       <Type Name="SeparatorToolItem" Kind="Class" />
-      <Type Name="SetBaseArgs" />
-      <Type Name="SetBaseHandler" />
-      <Type Name="SetBaseTargetArgs" />
-      <Type Name="SetBaseTargetHandler" />
       <Type Name="SetFocusArgs" Kind="Class" />
       <Type Name="SetFocusHandler" Kind="Delegate" />
       <Type Name="Settings" Kind="Class" />
@@ -1691,16 +1564,12 @@
       <Type Name="SettingsValue" Kind="Structure" />
       <Type Name="ShadowType" Kind="Enumeration" />
       <Type Name="SharedData" Kind="Class" />
-      <Type Name="SideType" />
-      <Type Name="SignalFunc" />
       <Type Name="SizeAllocatedArgs" Kind="Class" />
       <Type Name="SizeAllocatedHandler" Kind="Delegate" />
       <Type Name="SizeChangedArgs" Kind="Class" />
       <Type Name="SizeChangedHandler" Kind="Delegate" />
       <Type Name="SizeGroup" Kind="Class" />
       <Type Name="SizeGroupMode" Kind="Enumeration" />
-      <Type Name="SizeRequestedArgs" />
-      <Type Name="SizeRequestedHandler" />
       <Type Name="SizeRequestMode" Kind="Enumeration" />
       <Type Name="SliceSideModifier" Kind="Enumeration" />
       <Type Name="Socket" Kind="Class" />
@@ -1740,16 +1609,10 @@
       <Type Name="StyleProperties" Kind="Class" />
       <Type Name="StylePropertyParser" Kind="Delegate" />
       <Type Name="StylePropertyValue" Kind="Class" />
-      <Type Name="StyleProvider" Kind="Interface" />
       <Type Name="StyleProviderAdapter" Kind="Class" />
       <Type Name="StyleProviderData" Kind="Class" />
-      <Type Name="StyleProviderImplementor" Kind="Interface" />
       <Type Name="StyleSetArgs" Kind="Class" />
       <Type Name="StyleSetHandler" Kind="Delegate" />
-      <Type Name="SubmenuDirection" />
-      <Type Name="SubmenuPlacement" />
-      <Type Name="SubmitArgs" />
-      <Type Name="SubmitHandler" />
       <Type Name="SurroundingDeletedArgs" Kind="Class" />
       <Type Name="SurroundingDeletedHandler" Kind="Delegate" />
       <Type Name="Switch" Kind="Class" />
@@ -1772,7 +1635,6 @@
       <Type Name="TargetEntry" Kind="Structure" />
       <Type Name="TargetFlags" Kind="Enumeration" />
       <Type Name="TargetList" Kind="Class" />
-      <Type Name="TargetPair" />
       <Type Name="Targets" Kind="Class" />
       <Type Name="TearoffMenuItem" Kind="Class" />
       <Type Name="TestCollapseRowArgs" Kind="Class" />
@@ -1831,9 +1693,6 @@
       <Type Name="TimelineDirection" Kind="Enumeration" />
       <Type Name="TimelinePriv" Kind="Class" />
       <Type Name="TimelineProgressType" Kind="Enumeration" />
-      <Type Name="Timeout" />
-      <Type Name="TitleChangedArgs" />
-      <Type Name="TitleChangedHandler" />
       <Type Name="ToggleAction" Kind="Class" />
       <Type Name="ToggleActionEntry" Kind="Structure" />
       <Type Name="ToggleButton" Kind="Class" />
@@ -1850,7 +1709,6 @@
       <Type Name="ToggleToolButton" Kind="Class" />
       <Type Name="Toolbar" Kind="Class" />
       <Type Name="Toolbar+ToolbarChild" Kind="Class" />
-      <Type Name="ToolbarChildType" />
       <Type Name="ToolbarContent" Kind="Class" />
       <Type Name="ToolbarStyle" Kind="Enumeration" />
       <Type Name="ToolButton" Kind="Class" />
@@ -1863,37 +1721,25 @@
       <Type Name="ToolPalette+ToolPaletteChild" Kind="Class" />
       <Type Name="ToolPaletteDragData" Kind="Class" />
       <Type Name="ToolPaletteDragTargets" Kind="Enumeration" />
-      <Type Name="ToolShell" Kind="Interface" />
       <Type Name="ToolShellAdapter" Kind="Class" />
-      <Type Name="ToolShellImplementor" Kind="Interface" />
       <Type Name="Tooltip" Kind="Class" />
-      <Type Name="Tooltips" />
-      <Type Name="TooltipsData" />
-      <Type Name="TooltipSetArgs" />
-      <Type Name="TooltipSetHandler" />
       <Type Name="TranslateFunc" Kind="Delegate" />
       <Type Name="TrayIcon" Kind="Class" />
       <Type Name="Tree" Kind="Class" />
       <Type Name="TreeCellDataFunc" Kind="Delegate" />
       <Type Name="TreeDestroyCountFunc" Kind="Delegate" />
-      <Type Name="TreeDragDest" Kind="Interface" />
       <Type Name="TreeDragDestAdapter" Kind="Class" />
-      <Type Name="TreeDragDestImplementor" Kind="Interface" />
-      <Type Name="TreeDragSource" Kind="Interface" />
       <Type Name="TreeDragSourceAdapter" Kind="Class" />
-      <Type Name="TreeDragSourceImplementor" Kind="Interface" />
       <Type Name="TreeIter" Kind="Structure" />
       <Type Name="TreeIterCompareFunc" Kind="Delegate" />
       <Type Name="TreeMenu" Kind="Class" />
       <Type Name="TreeMenuHeaderFunc" Kind="Delegate" />
-      <Type Name="TreeModel" Kind="Interface" />
       <Type Name="TreeModelAdapter" Kind="Class" />
       <Type Name="TreeModelFilter" Kind="Class" />
       <Type Name="TreeModelFilterModifyFunc" Kind="Delegate" />
       <Type Name="TreeModelFilterVisibleFunc" Kind="Delegate" />
       <Type Name="TreeModelFlags" Kind="Enumeration" />
       <Type Name="TreeModelForeachFunc" Kind="Delegate" />
-      <Type Name="TreeModelImplementor" Kind="Interface" />
       <Type Name="TreeModelSort" Kind="Class" />
       <Type Name="TreeNode" Kind="Class" />
       <Type Name="TreeNodeAddedHandler" Kind="Delegate" />
@@ -1906,9 +1752,7 @@
       <Type Name="TreeSelection" Kind="Class" />
       <Type Name="TreeSelectionForeachFunc" Kind="Delegate" />
       <Type Name="TreeSelectionFunc" Kind="Delegate" />
-      <Type Name="TreeSortable" Kind="Interface" />
       <Type Name="TreeSortableAdapter" Kind="Class" />
-      <Type Name="TreeSortableImplementor" Kind="Interface" />
       <Type Name="TreeStore" Kind="Class" />
       <Type Name="TreeView" Kind="Class" />
       <Type Name="TreeViewChild" Kind="Class" />
@@ -1932,9 +1776,6 @@
       <Type Name="UnselectAllHandler" Kind="Delegate" />
       <Type Name="UpdateCustomWidgetArgs" Kind="Class" />
       <Type Name="UpdateCustomWidgetHandler" Kind="Delegate" />
-      <Type Name="UpdateType" />
-      <Type Name="UrlRequestedArgs" />
-      <Type Name="UrlRequestedHandler" />
       <Type Name="ValueChangedArgs" Kind="Class" />
       <Type Name="ValueChangedHandler" Kind="Delegate" />
       <Type Name="ValueData" Kind="Class" />
@@ -1945,7 +1786,6 @@
       <Type Name="VisibilityNotifyEventHandler" Kind="Delegate" />
       <Type Name="VolumeButton" Kind="Class" />
       <Type Name="VPaned" Kind="Class" />
-      <Type Name="VRuler" />
       <Type Name="VScale" Kind="Class" />
       <Type Name="VScrollbar" Kind="Class" />
       <Type Name="VSeparator" Kind="Class" />
@@ -1954,14 +1794,12 @@
       <Type Name="WidgetEventAfterHandler" Kind="Delegate" />
       <Type Name="WidgetEventArgs" Kind="Class" />
       <Type Name="WidgetEventHandler" Kind="Delegate" />
-      <Type Name="WidgetFlags" />
       <Type Name="WidgetHelpType" Kind="Enumeration" />
       <Type Name="WidgetPath" Kind="Class" />
       <Type Name="Win32EmbedWidget" Kind="Class" />
       <Type Name="Window" Kind="Class" />
       <Type Name="WindowGroup" Kind="Class" />
       <Type Name="WindowKeyEntry" Kind="Class" />
-      <Type Name="WindowKeysForeachFunc" />
       <Type Name="WindowPosition" Kind="Enumeration" />
       <Type Name="WindowStateEventArgs" Kind="Class" />
       <Type Name="WindowStateEventHandler" Kind="Delegate" />
diff --git a/doc/en/ns-.xml b/doc/en/ns-.xml
new file mode 100644
index 0000000..36dfeb3
--- /dev/null
+++ b/doc/en/ns-.xml
@@ -0,0 +1,6 @@
+<Namespace Name="">
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+  </Docs>
+</Namespace>
diff --git a/gapi.xsd b/gapi.xsd
index e0316c1..7eae62f 100644
--- a/gapi.xsd
+++ b/gapi.xsd
@@ -77,6 +77,7 @@
         <xs:attribute name="cname" type="xs:string"/>
         <xs:attribute name="opaque" type="xs:boolean" use="optional"/>
         <xs:attribute name="hidden" type="xs:boolean" use="optional"/>
+        <xs:attribute name="noequals" type="xs:boolean" use="optional"/>
         <xs:attribute name="nohash" type="xs:boolean" use="optional"/>
     </xs:complexType>
 
diff --git a/gdk/Keymap.cs b/gdk/Keymap.cs
index 75e5dae..d8b316c 100644
--- a/gdk/Keymap.cs
+++ b/gdk/Keymap.cs
@@ -26,9 +26,6 @@ namespace Gdk {
 
 	public partial class Keymap {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-                static extern void g_free(IntPtr ptr);
-
 		[DllImport ("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern bool gdk_keymap_get_entries_for_keycode(IntPtr raw, uint hardware_keycode, out IntPtr keys, out IntPtr keyvals, out int n_entries);
 
@@ -46,8 +43,8 @@ namespace Gdk {
 					keyvals [i] = (uint) tmp [i];
 					keys [i] = KeymapKey.New (ptr);
 				}
-				g_free (key_ptr);
-				g_free (keyval_ptr);
+				GLib.Marshaller.Free (key_ptr);
+				GLib.Marshaller.Free (keyval_ptr);
 			} else {
 				keys = new KeymapKey [0];
 				keyvals = new uint [0];
@@ -67,7 +64,7 @@ namespace Gdk {
 					IntPtr ptr = new IntPtr ((long) key_ptr + i * Marshal.SizeOf (typeof (KeymapKey)));
 					result [i] = KeymapKey.New (ptr);
 				}
-				g_free (key_ptr);
+				GLib.Marshaller.Free (key_ptr);
 				return result;
 			} else
 				return new KeymapKey [0];
diff --git a/gdk/Makefile.in b/gdk/Makefile.in
index 995f5cc..858ece7 100644
--- a/gdk/Makefile.in
+++ b/gdk/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -582,12 +582,12 @@ uninstall-am: uninstall-gapiDATA uninstall-local
 	uninstall-am uninstall-gapiDATA uninstall-local
 
 
-$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe
+$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe
 	cp $(srcdir)/$(RAW_API) $(API)
 	chmod u+w $(API)
 	@if test -n '$(METADATA)'; then		\
-		echo "$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
-		$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
+		echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
+		$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
 	fi
 
 generated-stamp: $(API) $(INCLUDE_API) $(top_builddir)/generator/gapi_codegen.exe $(GAPI_XSD)
diff --git a/gdk/Pixbuf.cs b/gdk/Pixbuf.cs
index 7f5ed32..5e9cce1 100644
--- a/gdk/Pixbuf.cs
+++ b/gdk/Pixbuf.cs
@@ -235,9 +235,6 @@ namespace Gdk {
 			return ret;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libgdk_pixbuf-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern unsafe bool gdk_pixbuf_save_to_bufferv (IntPtr raw, out IntPtr buffer, out IntPtr buffer_size, IntPtr type, IntPtr[] option_keys, IntPtr[] option_values, out IntPtr error);
 
@@ -282,7 +279,7 @@ namespace Gdk {
 				throw new GLib.GException (error);
 			byte[] result = new byte [(int)buffer_size];
 			Marshal.Copy (buffer, result, 0, (int) buffer_size);
-			g_free (buffer);
+			GLib.Marshaller.Free (buffer);
 			return result;
 		}
 
diff --git a/generator/CallbackGen.cs b/generator/CallbackGen.cs
index fde7668..319fe5b 100644
--- a/generator/CallbackGen.cs
+++ b/generator/CallbackGen.cs
@@ -56,6 +56,8 @@ namespace GtkSharp.Generation {
 
 			if (!String.IsNullOrEmpty (retval.CountParameterName))
 				retval.CountParameter = parms.GetCountParameter (retval.CountParameterName);
+			if (retval.CountParameterIndex >= 0)
+				retval.CountParameter = parms[retval.CountParameterIndex];
 
 			return valid;
 		}
@@ -68,6 +70,14 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		public string WrapperName {
+			get {
+				if (!valid)
+					return String.Empty;
+				return NS + "Sharp." + Name + "Wrapper";
+			}
+		}
+
 		public override string MarshalType {
 			get {
 				if (valid)
diff --git a/generator/ClassBase.cs b/generator/ClassBase.cs
index 8c77764..57e2770 100644
--- a/generator/ClassBase.cs
+++ b/generator/ClassBase.cs
@@ -34,6 +34,7 @@ namespace GtkSharp.Generation {
 		private IDictionary<string, Property> props = new Dictionary<string, Property> ();
 		private IDictionary<string, ObjectField> fields = new Dictionary<string, ObjectField> ();
 		private IDictionary<string, Method> methods = new Dictionary<string, Method> ();
+		private IDictionary<string, Constant> constants = new Dictionary<string, Constant>();
 		protected IList<string> interfaces = new List<string>();
 		protected IList<string> managed_interfaces = new List<string>();
 		protected IList<Ctor> ctors = new List<Ctor>();
@@ -108,6 +109,11 @@ namespace GtkSharp.Generation {
 					ctors.Add (new Ctor (member, this));
 					break;
 
+				case "constant":
+					name = member.GetAttribute ("name");
+					constants.Add (name, new Constant (member));
+					break;
+
 				default:
 					break;
 				}
@@ -156,6 +162,14 @@ namespace GtkSharp.Generation {
 				methods.Remove (method.Name);
 			invalids.Clear ();
 
+			foreach (Constant con in constants.Values) {
+				if (!con.Validate (log))
+					invalids.Add (con);
+			}
+			foreach (Constant con in invalids)
+				constants.Remove (con.Name);
+			invalids.Clear ();
+
 			foreach (Ctor ctor in ctors) {
 				if (!ctor.Validate (log))
 					invalids.Add (ctor);
@@ -199,6 +213,7 @@ namespace GtkSharp.Generation {
 			case "implements":
 			case "constructor":
 			case "disabledefaultconstructor":
+			case "constant":
 				return true;
 				
 			default:
@@ -221,6 +236,12 @@ namespace GtkSharp.Generation {
 				field.Generate (gen_info, "\t\t");
 		}
 
+		protected void GenConstants (GenerationInfo gen_info)
+		{
+			foreach (Constant con in constants.Values)
+				con.Generate (gen_info, "\t\t");
+		}
+
 		private void ParseImplements (XmlElement member)
 		{
 			foreach (XmlNode node in member.ChildNodes) {
diff --git a/generator/ClassGen.cs b/generator/ClassGen.cs
index f0cf6a3..f6ef5b9 100644
--- a/generator/ClassGen.cs
+++ b/generator/ClassGen.cs
@@ -77,9 +77,10 @@ namespace GtkSharp.Generation {
 			sw.WriteLine (" {");
 			sw.WriteLine ();
 
+			GenConstants (gen_info);
 			GenProperties (gen_info, null);
 			GenMethods (gen_info, null, null);
-			
+
 			sw.WriteLine ("#endregion");
 
 			sw.WriteLine ("\t}");
diff --git a/generator/CodeGenerator.cs b/generator/CodeGenerator.cs
index bbd9830..187cca6 100644
--- a/generator/CodeGenerator.cs
+++ b/generator/CodeGenerator.cs
@@ -34,6 +34,7 @@ namespace GtkSharp.Generation {
 			bool show_help = false;
 			string dir = "";
 			string assembly_name = "";
+			string gapidir = "";
 			string glue_filename = "";
 			string glue_includes = "";
 			string gluelib_name = "";
@@ -54,6 +55,8 @@ namespace GtkSharp.Generation {
 					(string v) => { dir = v; } },
 				{ "assembly-name=", "Name of the assembly for which the code is generated.",
 					(string v) => { assembly_name = v; } },
+				{ "gapidir=", "GAPI xml data  folder.",
+					(string v) => { gapidir = v; } },
 				{ "glue-filename=", "Filename for the generated C glue code.",
 					(string v) => { glue_filename = v; } },
 				{ "glue-includes=", "Content of #include directive to add in the generated C glue code.",
@@ -101,12 +104,12 @@ namespace GtkSharp.Generation {
 
 			Parser p = new Parser ();
 			foreach (string include in includes) {
-				IGeneratable[] curr_gens = p.Parse (include, schema_name);
+				IGeneratable[] curr_gens = p.Parse (include, schema_name, gapidir);
 				table.AddTypes (curr_gens);
 			}
 
 			foreach (string filename in filenames) {
-				IGeneratable[] curr_gens = p.Parse (filename, schema_name);
+				IGeneratable[] curr_gens = p.Parse (filename, schema_name, gapidir);
 				table.AddTypes (curr_gens);
 				gens.AddRange (curr_gens);
 			}
diff --git a/generator/Constant.cs b/generator/Constant.cs
new file mode 100644
index 0000000..3a40c02
--- /dev/null
+++ b/generator/Constant.cs
@@ -0,0 +1,87 @@
+// Authors:
+//   Stephan Sundermann <stephansundermann at gmail.com>
+//
+// Copyright (c) 2013 Stephan Sundermann
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the GNU General Public
+// License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+using System;
+using System.Xml;
+using System.IO;
+
+namespace GtkSharp.Generation
+{
+	public class Constant
+	{
+		private readonly string name;
+		private readonly string value;
+		private readonly string ctype;
+
+		public Constant (XmlElement elem)
+		{
+			this.name = elem.GetAttribute ("name");
+			this.value = elem.GetAttribute ("value");
+			this.ctype = elem.GetAttribute ("ctype");
+		}
+
+		public string Name {
+			get {
+				return this.name;
+			}
+		}
+		public string ConstType {
+			get {
+				if (IsString)
+					return "string";
+				// gir registers all integer values as gint even for numbers which do not fit into a gint
+				// if the number is too big for an int, try to fit it into a long
+				if (SymbolTable.Table.GetMarshalType (ctype) == "int" && value.Length < 20 && long.Parse (value) > Int32.MaxValue)
+					return "long";
+				return SymbolTable.Table.GetMarshalType (ctype);
+			}
+		}
+
+		public bool IsString {
+			get {
+				return (SymbolTable.Table.GetCSType (ctype) == "string");
+			}
+		}
+
+		public virtual bool Validate (LogWriter log)
+		{
+			if (ConstType == String.Empty) {
+				log.Warn ("{0} type is missing or wrong", Name);
+				return false;
+			}
+			if (SymbolTable.Table.GetMarshalType (ctype) == "int" && value.Length >= 20) {
+				return false;
+			}
+			return true;
+		}
+
+		public virtual void Generate (GenerationInfo gen_info, string indent)
+		{
+			StreamWriter sw = gen_info.Writer;
+
+			sw.WriteLine ("{0}public const {1} {2} = {3}{4}{5};",
+			              indent,
+			              ConstType,
+			              Name,
+			              IsString ? "@\"": String.Empty,
+			              value,
+			              IsString ? "\"": String.Empty);
+		}
+	}
+}
diff --git a/generator/FieldBase.cs b/generator/FieldBase.cs
index 7e18bbb..da59545 100644
--- a/generator/FieldBase.cs
+++ b/generator/FieldBase.cs
@@ -32,6 +32,8 @@ namespace GtkSharp.Generation {
 		{
 			log.Member = Name;
 			if (!Ignored && !Hidden && CSType == "") {
+				if (Name == "Priv")
+					return false;
 				log.Warn ("field has unknown type: " + CType);
 				Statistics.ThrottledCount++;
 				return false;
@@ -40,21 +42,25 @@ namespace GtkSharp.Generation {
 			return true;
 		}
 
-		protected virtual bool Readable {
+		internal virtual bool Readable {
 			get {
-				return elem.GetAttribute ("readable") != "false";
+				if (Parser.GetVersion (elem.OwnerDocument.DocumentElement) <= 2)
+					return elem.GetAttribute ("readable") != "false";
+				return elem.HasAttribute ("readable") && elem.GetAttributeAsBoolean ("readable");
 			}
 		}
 
-		protected virtual bool Writable {
+		internal virtual bool Writable {
 			get {
-				return elem.GetAttribute ("writeable") != "false";
+				if (Parser.GetVersion (elem.OwnerDocument.DocumentElement) <= 2)
+					return elem.GetAttribute ("writeable") != "false";
+				return elem.HasAttribute ("writeable") && elem.GetAttributeAsBoolean ("writeable");
 			}
 		}
 
 		protected abstract string DefaultAccess { get; }
 
-		protected string Access {
+		internal string Access {
 			get {
 				return elem.HasAttribute ("access") ? elem.GetAttribute ("access") : DefaultAccess;
 			}
@@ -152,9 +158,9 @@ namespace GtkSharp.Generation {
 			GenerateImports (gen_info, indent);
 
 			SymbolTable table = SymbolTable.Table;
+			IGeneratable gen = table [CType];
 			StreamWriter sw = gen_info.Writer;
 			string modifiers = elem.GetAttributeAsBoolean ("new_flag") ? "new " : "";
-			bool is_struct = table.IsStruct (CType) || table.IsBoxed (CType);
 
 			sw.WriteLine (indent + "public " + modifiers + CSType + " " + Name + " {");
 
@@ -172,10 +178,12 @@ namespace GtkSharp.Generation {
 			} else if (Readable && offsetName != null) {
 				sw.WriteLine (indent + "\tget {");
 				sw.WriteLine (indent + "\t\tunsafe {");
-				if (is_struct) {
-					sw.WriteLine (indent + "\t\t\t" + CSType + "* raw_ptr = (" + CSType + "*)(((byte*)" + container_type.CallByName () + ") + " + offsetName + ");");
-					sw.WriteLine (indent + "\t\t\treturn *raw_ptr;");
-				} else {
+				if (gen is CallbackGen) {
+					sw.WriteLine (indent + "\t\t\tIntPtr* raw_ptr = (IntPtr*)(((byte*)" + container_type.CallByName () + ") + " + offsetName + ");");
+					sw.WriteLine (indent + "\t\t\t {0} del = ({0})Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof({0}));", table.GetMarshalType (CType));
+					sw.WriteLine (indent + "\t\t\treturn " + table.FromNative (ctype, "(del)") + ";");
+				}
+				else {
 					sw.WriteLine (indent + "\t\t\t" + table.GetMarshalType (CType) + "* raw_ptr = (" + table.GetMarshalType (CType) + "*)(((byte*)" + container_type.CallByName () + ") + " + offsetName + ");");
 					sw.WriteLine (indent + "\t\t\treturn " + table.FromNative (ctype, "(*raw_ptr)") + ";");
 				}
@@ -183,7 +191,6 @@ namespace GtkSharp.Generation {
 				sw.WriteLine (indent + "\t}");
 			}
 
-			IGeneratable gen = table [CType];
 			string to_native = (gen is IManualMarshaler) ? (gen as IManualMarshaler).AllocNative ("value") : gen.CallByName ("value");
 
 			if (Setter != null) {
@@ -199,10 +206,12 @@ namespace GtkSharp.Generation {
 			} else if (Writable && offsetName != null) {
 				sw.WriteLine (indent + "\tset {");
 				sw.WriteLine (indent + "\t\tunsafe {");
-				if (is_struct) {
-					sw.WriteLine (indent + "\t\t\t" + CSType + "* raw_ptr = (" + CSType + "*)(((byte*)" + container_type.CallByName () + ") + " + offsetName + ");");
-					sw.WriteLine (indent + "\t\t\t*raw_ptr = value;");
-				} else {
+				if (gen is CallbackGen) {
+					sw.WriteLine (indent + "\t\t\t{0} wrapper = new {0} (value);", ((CallbackGen)gen).WrapperName);
+					sw.WriteLine (indent + "\t\t\tIntPtr* raw_ptr = (IntPtr*)(((byte*)" + container_type.CallByName () + ") + " + offsetName + ");");
+					sw.WriteLine (indent + "\t\t\t*raw_ptr = Marshal.GetFunctionPointerForDelegate (wrapper.NativeDelegate);");
+				}
+				else {
 					sw.WriteLine (indent + "\t\t\t" + table.GetMarshalType (CType) + "* raw_ptr = (" + table.GetMarshalType (CType) + "*)(((byte*)" + container_type.CallByName () + ") + " + offsetName + ");");
 					sw.WriteLine (indent + "\t\t\t*raw_ptr = " + to_native + ";");
 				}
diff --git a/generator/GObjectVM.cs b/generator/GObjectVM.cs
index 00ae034..07dc2f4 100644
--- a/generator/GObjectVM.cs
+++ b/generator/GObjectVM.cs
@@ -81,7 +81,7 @@ namespace GtkSharp.Generation {
 
 		VMCodeType CodeType {
 			get {
-				if (!(container_type as ObjectBase).CanGenerateClassStruct || force_glue_generation) {
+				if (!((ObjectBase)container_type).CanGenerateClassStruct || force_glue_generation) {
 					if (BlockGlue)
 						return VMCodeType.None;
 					else
diff --git a/generator/InterfaceGen.cs b/generator/InterfaceGen.cs
index 6d11852..7b66cc8 100644
--- a/generator/InterfaceGen.cs
+++ b/generator/InterfaceGen.cs
@@ -160,7 +160,7 @@ namespace GtkSharp.Generation {
 		void GenerateCtors (StreamWriter sw)
 		{
 			// Native GObjects do not implement the *Implementor interfaces
-			sw.WriteLine ("\t\tGLib.Object implementor;", Name);
+			sw.WriteLine ("\t\tGLib.Object implementor;");
 			sw.WriteLine ();
 
 			if (!IsConsumeOnly) {
@@ -197,11 +197,22 @@ namespace GtkSharp.Generation {
 			m.GenerateImport (sw);
 			sw.WriteLine ("\t\tprivate static GLib.GType _gtype = new GLib.GType ({0} ());", m.CName);
 			sw.WriteLine ();
-			sw.WriteLine ("\t\tpublic override GLib.GType GType {");
+
+			// by convention, all GTypes generated have a static GType property
+			sw.WriteLine ("\t\tpublic static GLib.GType GType {");
+			sw.WriteLine ("\t\t\tget {");
+			sw.WriteLine ("\t\t\t\treturn _gtype;");
+			sw.WriteLine ("\t\t\t}");
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+
+			// we need same property but non-static, because it is being accessed via a GInterfaceAdapter instance
+			sw.WriteLine ("\t\tpublic override GLib.GType GInterfaceGType {");
 			sw.WriteLine ("\t\t\tget {");
 			sw.WriteLine ("\t\t\t\treturn _gtype;");
 			sw.WriteLine ("\t\t\t}");
 			sw.WriteLine ("\t\t}");
+
 			sw.WriteLine ();
 		}
 
diff --git a/generator/LPUGen.cs b/generator/LPUGen.cs
index f84cdd8..05fa03a 100644
--- a/generator/LPUGen.cs
+++ b/generator/LPUGen.cs
@@ -1,4 +1,4 @@
-// GtkSharp.Generation.LPUGen.cs - unsugned long/pointer generatable.
+// GtkSharp.Generation.LPUGen.cs - unsigned long/pointer generatable.
 //
 // Author: Mike Kestner <mkestner at novell.com>
 //
diff --git a/generator/Makefile.am b/generator/Makefile.am
index dfd24c4..bdfae89 100644
--- a/generator/Makefile.am
+++ b/generator/Makefile.am
@@ -1,11 +1,14 @@
 assemblydir = $(prefix)/lib/gapi-3.0
-assembly_DATA = gapi_codegen.exe
-bin_SCRIPTS = gapi3-codegen
-CLEANFILES = gapi_codegen.exe
-DISTCLEANFILES = gapi3-codegen
+assembly_DATA = gapi-fixup.exe gapi_codegen.exe
+bin_SCRIPTS = gapi3-fixup gapi3-codegen
+CLEANFILES = gapi-fixup.exe gapi_codegen.exe
+DISTCLEANFILES = gapi3-fixup gapi3-codegen
 
 references =
 
+fixup_sources =				\
+	gapi-fixup.cs
+
 sources = 				\
 	AliasGen.cs			\
 	ArrayParameter.cs		\
@@ -19,6 +22,7 @@ sources = 				\
 	CodeGenerator.cs		\
 	ConstFilenameGen.cs		\
 	ConstStringGen.cs		\
+	Constant.cs			\
 	Ctor.cs				\
 	DefaultSignalHandler.cs		\
 	EnumGen.cs			\
@@ -42,6 +46,7 @@ sources = 				\
 	MethodBase.cs			\
 	MethodBody.cs			\
 	Method.cs			\
+	NativeStructGen.cs		\
 	ObjectField.cs			\
 	ObjectBase.cs			\
 	ObjectGen.cs			\
@@ -63,15 +68,20 @@ sources = 				\
 	StructField.cs			\
 	StructGen.cs			\
 	SymbolTable.cs			\
+	UnionGen.cs			\
 	VirtualMethod.cs		\
 	VMSignature.cs			\
 	XmlElementExtensions.cs
 
 build_sources = $(addprefix $(srcdir)/, $(sources))
-dist_sources = $(sources)
+build_fixup_sources = $(addprefix $(srcdir)/, $(fixup_sources))
 
 EXTRA_DIST =					\
-	$(dist_sources)
+	$(sources)				\
+	$(fixup_sources)
+
+gapi-fixup.exe: $(build_fixup_sources)
+	$(CSC) $(CSFLAGS) -out:gapi-fixup.exe $(srcdir)/gapi-fixup.cs
 
 gapi_codegen.exe: $(build_sources)
 	$(CSC) $(CSFLAGS) -out:gapi_codegen.exe $(OFF_T_FLAGS) $(references) $(build_sources)
diff --git a/generator/Makefile.in b/generator/Makefile.in
index bb56537..53675d8 100644
--- a/generator/Makefile.in
+++ b/generator/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -81,14 +81,14 @@ build_triplet = @build@
 host_triplet = @host@
 subdir = generator
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/gapi3-codegen.in
+	$(srcdir)/gapi3-codegen.in $(srcdir)/gapi3-fixup.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = gapi3-codegen
+CONFIG_CLEAN_FILES = gapi3-codegen gapi3-fixup
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -294,11 +294,14 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 assemblydir = $(prefix)/lib/gapi-3.0
-assembly_DATA = gapi_codegen.exe
-bin_SCRIPTS = gapi3-codegen
-CLEANFILES = gapi_codegen.exe
-DISTCLEANFILES = gapi3-codegen
+assembly_DATA = gapi-fixup.exe gapi_codegen.exe
+bin_SCRIPTS = gapi3-fixup gapi3-codegen
+CLEANFILES = gapi-fixup.exe gapi_codegen.exe
+DISTCLEANFILES = gapi3-fixup gapi3-codegen
 references = 
+fixup_sources = \
+	gapi-fixup.cs
+
 sources = \
 	AliasGen.cs			\
 	ArrayParameter.cs		\
@@ -312,6 +315,7 @@ sources = \
 	CodeGenerator.cs		\
 	ConstFilenameGen.cs		\
 	ConstStringGen.cs		\
+	Constant.cs			\
 	Ctor.cs				\
 	DefaultSignalHandler.cs		\
 	EnumGen.cs			\
@@ -335,6 +339,7 @@ sources = \
 	MethodBase.cs			\
 	MethodBody.cs			\
 	Method.cs			\
+	NativeStructGen.cs		\
 	ObjectField.cs			\
 	ObjectBase.cs			\
 	ObjectGen.cs			\
@@ -356,14 +361,16 @@ sources = \
 	StructField.cs			\
 	StructGen.cs			\
 	SymbolTable.cs			\
+	UnionGen.cs			\
 	VirtualMethod.cs		\
 	VMSignature.cs			\
 	XmlElementExtensions.cs
 
 build_sources = $(addprefix $(srcdir)/, $(sources))
-dist_sources = $(sources)
+build_fixup_sources = $(addprefix $(srcdir)/, $(fixup_sources))
 EXTRA_DIST = \
-	$(dist_sources)
+	$(sources)				\
+	$(fixup_sources)
 
 all: all-am
 
@@ -400,6 +407,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 gapi3-codegen: $(top_builddir)/config.status $(srcdir)/gapi3-codegen.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+gapi3-fixup: $(top_builddir)/config.status $(srcdir)/gapi3-fixup.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 install-binSCRIPTS: $(bin_SCRIPTS)
 	@$(NORMAL_INSTALL)
 	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
@@ -620,6 +629,9 @@ uninstall-am: uninstall-assemblyDATA uninstall-binSCRIPTS
 	uninstall-am uninstall-assemblyDATA uninstall-binSCRIPTS
 
 
+gapi-fixup.exe: $(build_fixup_sources)
+	$(CSC) $(CSFLAGS) -out:gapi-fixup.exe $(srcdir)/gapi-fixup.cs
+
 gapi_codegen.exe: $(build_sources)
 	$(CSC) $(CSFLAGS) -out:gapi_codegen.exe $(OFF_T_FLAGS) $(references) $(build_sources)
 
diff --git a/generator/ManagedCallString.cs b/generator/ManagedCallString.cs
index de0ad1b..3e54fe3 100644
--- a/generator/ManagedCallString.cs
+++ b/generator/ManagedCallString.cs
@@ -28,6 +28,7 @@ namespace GtkSharp.Generation {
 	public class ManagedCallString {
 		
 		IDictionary<Parameter, bool> parms = new Dictionary<Parameter, bool> ();
+		IList<Parameter> dispose_params = new List<Parameter> ();
 		string error_param = null;
 		string user_data_param = null;
 		string destroy_param = null;
@@ -57,6 +58,10 @@ namespace GtkSharp.Generation {
 					special = true;
 
 				this.parms.Add (p, special);
+
+				if (p.IsOwnable) {
+					dispose_params.Add (p);
+				}
 			}
 		}
 
@@ -70,10 +75,18 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		public bool HasDisposeParam {
+			get { return dispose_params.Count > 0; }
+		}
+
 		public string Unconditional (string indent) {
 			string ret = "";
 			if (error_param != null)
 				ret = indent + error_param + " = IntPtr.Zero;\n";
+
+			foreach (Parameter p in dispose_params) {
+				ret += indent + p.CSType + " my" + p.Name + " = null;\n";
+			}
 			return ret;
 		}
 
@@ -103,6 +116,10 @@ namespace GtkSharp.Generation {
 				}
 			}
 
+			foreach (Parameter p in dispose_params) {
+				ret += indent + "my" + p.Name + " = " + p.FromNative (p.Name) + ";\n";
+			}
+
 			return ret;
 		}
 
@@ -119,7 +136,12 @@ namespace GtkSharp.Generation {
 				if (p.Generatable is CallbackGen) {
 					result [i] += p.Name + "_invoker.Handler";
 				} else {
-					result [i] += (parms [p]) ? "my" + p.Name : p.FromNative (p.Name);
+					if (parms [p] || dispose_params.Contains(p)) {
+						// Parameter was declared and marshalled earlier
+						result [i] +=  "my" + p.Name;
+					} else {
+						result [i] +=  p.FromNative (p.Name);
+					}
 				}
 				i++;
 			}
@@ -150,6 +172,22 @@ namespace GtkSharp.Generation {
 
 			return ret;
 		}
+
+		public string DisposeParams (string indent)
+		{
+			string ret = "";
+
+			foreach (Parameter p in dispose_params) {
+				string name = "my" + p.Name;
+				string disp_name = "disposable_" + p.Name;
+
+				ret += indent + "var " + disp_name + " = " + name + " as IDisposable;\n";
+				ret += indent + "if (" + disp_name + " != null)\n";
+				ret += indent + "\t" + disp_name + ".Dispose ();\n";
+			}
+
+			return ret;
+		}
 	}
 }
 
diff --git a/generator/Method.cs b/generator/Method.cs
index 59711bf..14f0b65 100644
--- a/generator/Method.cs
+++ b/generator/Method.cs
@@ -84,8 +84,13 @@ namespace GtkSharp.Generation {
 			if (!retval.Validate (log) || !base.Validate (log))
 				return false;
 
+			if (Name == String.Empty || CName == String.Empty) {
+				log.Warn ("Method has no name or cname.");
+				return false;
+			}
+
 			Parameters parms = Parameters;
-			is_get = ((((parms.IsAccessor && retval.IsVoid) || (parms.Count == 0 && !retval.IsVoid)) || (parms.Count == 0 && !retval.IsVoid)) && HasGetterName);
+			is_get = ((parms.IsAccessor && retval.IsVoid) || (parms.Count == 0 && !retval.IsVoid)) && HasGetterName;
 			is_set = ((parms.IsAccessor || (parms.VisibleCount == 1 && retval.IsVoid)) && HasSetterName);
 
 			call = "(" + (IsStatic ? "" : container_type.CallByName () + (parms.Count > 0 ? ", " : "")) + Body.GetCallString (is_set) + ")";
@@ -128,6 +133,9 @@ namespace GtkSharp.Generation {
 			else if (Modifiers == "new " || (dup != null && ((dup.Signature != null && Signature != null && dup.Signature.ToString() == Signature.ToString()) || (dup.Signature == null && Signature == null))))
 				sw.Write("new ");
 
+			if (Name.StartsWith (container_type.Name))
+				Name = Name.Substring (container_type.Name.Length);
+
 			if (is_get || is_set) {
 				if (retval.IsVoid)
 					sw.Write (Parameters.AccessorReturnType);
@@ -207,6 +215,14 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		public void GenerateOverloads (StreamWriter sw)
+		{
+			sw.WriteLine ();
+			sw.WriteLine ("\t\tpublic " + retval.CSType + " " + Name + "(" + (Signature != null ? Signature.WithoutOptional () : "") + ") {");
+			sw.WriteLine ("\t\t\t{0}{1} ({2});", !retval.IsVoid ? "return " : String.Empty, Name, Signature.CallWithoutOptionals ());
+			sw.WriteLine ("\t\t}");
+		}
+
 		public void Generate (GenerationInfo gen_info, ClassBase implementor)
 		{
 			Method comp = null;
@@ -266,6 +282,9 @@ namespace GtkSharp.Generation {
 			}
 			else
 				gen_info.Writer.WriteLine();
+
+			if (Parameters.HasOptional && !(is_get || is_set))
+				GenerateOverloads (gen_info.Writer);
 			
 			gen_info.Writer.WriteLine();
 
diff --git a/generator/MethodBody.cs b/generator/MethodBody.cs
index 1afb636..1575f93 100644
--- a/generator/MethodBody.cs
+++ b/generator/MethodBody.cs
@@ -101,17 +101,26 @@ namespace GtkSharp.Generation {
 				if (gen is CallbackGen) {
 					CallbackGen cbgen = gen as CallbackGen;
 					string wrapper = cbgen.GenWrapper(gen_info);
+
+					int closure = i + 1;
+					if (p.Closure >= 0)
+						closure = p.Closure;
+
+					int destroyNotify = i + 2;
+					if (p.DestroyNotify >= 0)
+						destroyNotify = p.DestroyNotify;
+
 					switch (p.Scope) {
 					case "notified":
 						sw.WriteLine (indent + "\t\t\t{0} {1}_wrapper = new {0} ({1});", wrapper, name);
-						sw.WriteLine (indent + "\t\t\tIntPtr {0};", parameters [i + 1].Name);
-						sw.WriteLine (indent + "\t\t\t{0} {1};", parameters [i + 2].CSType, parameters [i + 2].Name);
+						sw.WriteLine (indent + "\t\t\tIntPtr {0};", parameters [closure].Name);
+						sw.WriteLine (indent + "\t\t\t{0} {1};", parameters [destroyNotify].CSType, parameters [destroyNotify].Name);
 						sw.WriteLine (indent + "\t\t\tif ({0} == null) {{", name);
-						sw.WriteLine (indent + "\t\t\t\t{0} = IntPtr.Zero;", parameters [i + 1].Name);
-						sw.WriteLine (indent + "\t\t\t\t{0} = null;", parameters [i + 2].Name);
+						sw.WriteLine (indent + "\t\t\t\t{0} = IntPtr.Zero;", parameters [closure].Name);
+						sw.WriteLine (indent + "\t\t\t\t{0} = null;", parameters [destroyNotify].Name);
 						sw.WriteLine (indent + "\t\t\t} else {");
-						sw.WriteLine (indent + "\t\t\t\t{0} = (IntPtr) GCHandle.Alloc ({1}_wrapper);", parameters [i + 1].Name, name);
-						sw.WriteLine (indent + "\t\t\t\t{0} = GLib.DestroyHelper.NotifyHandler;", parameters [i + 2].Name, parameters [i + 2].CSType);
+						sw.WriteLine (indent + "\t\t\t\t{0} = (IntPtr) GCHandle.Alloc ({1}_wrapper);", parameters [closure].Name, name);
+						sw.WriteLine (indent + "\t\t\t\t{0} = GLib.DestroyHelper.NotifyHandler;", parameters [destroyNotify].Name, parameters [destroyNotify].CSType);
 						sw.WriteLine (indent + "\t\t\t}");
 						break;
 
diff --git a/generator/NativeStructGen.cs b/generator/NativeStructGen.cs
new file mode 100644
index 0000000..6a6aa49
--- /dev/null
+++ b/generator/NativeStructGen.cs
@@ -0,0 +1,227 @@
+// Authors:
+//   Stephan Sundermann <stephansundermann at gmail.com>
+//
+// Copyright (c) 2013 Stephan Sundermann
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the GNU General Public
+// License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// General Public License for more details.
+//
+// You should have received a copy of the GNU General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml;
+
+namespace GtkSharp.Generation
+{
+	public class NativeStructGen : HandleBase
+	{
+		IList<StructField> fields = new List<StructField> ();
+
+		public NativeStructGen (XmlElement ns, XmlElement elem) : base (ns, elem)
+		{
+			foreach (XmlNode node in elem.ChildNodes) {
+
+				if (!(node is XmlElement)) continue;
+				XmlElement member = (XmlElement) node;
+
+				switch (node.Name) {
+				case "field":
+					fields.Add (new StructField (member, this));
+					break;
+
+				default:
+					if (!IsNodeNameHandled (node.Name))
+						Console.WriteLine ("Unexpected node " + node.Name + " in " + CName);
+					break;
+				}
+			}
+		}
+
+		public override string MarshalType {
+			get {
+				return "IntPtr";
+			}
+		}
+
+		public override string AssignToName {
+			get { return "Handle"; }
+		}
+
+		public override string CallByName ()
+		{
+			return "Handle";
+		}
+
+		public override string CallByName (string var)
+		{
+			return String.Format ("{0} == null ? IntPtr.Zero : {0}.{1}", var, "Handle");
+		}
+
+		public override string FromNative (string var, bool owned)
+		{
+			return "new " + QualifiedName + "( " + var + " )";
+		}
+
+		public override void Generate (GenerationInfo gen_info)
+		{
+			bool need_close = false;
+			if (gen_info.Writer == null) {
+				gen_info.Writer = gen_info.OpenStream (Name);
+				need_close = true;
+			}
+
+			StreamWriter sw = gen_info.Writer;
+			
+			sw.WriteLine ("namespace " + NS + " {");
+			sw.WriteLine ();
+			sw.WriteLine ("\tusing System;");
+			sw.WriteLine ("\tusing System.Collections;");
+			sw.WriteLine ("\tusing System.Collections.Generic;");
+			sw.WriteLine ("\tusing System.Runtime.InteropServices;");
+			sw.WriteLine ();
+
+			sw.WriteLine ("#region Autogenerated code");
+			if (IsDeprecated)
+				sw.WriteLine ("\t[Obsolete]");
+			string access = IsInternal ? "internal" : "public";
+			sw.WriteLine ("\t" + access + " partial class {0} : {1} IEquatable<{0}> {{", Name, Parent == null ? "GLib.IWrapper," : (Parent.QualifiedName + ","));
+			sw.WriteLine ();
+
+			GenNativeStruct (gen_info);
+			GenNativeAccessor (gen_info);
+			GenFields (gen_info);
+			sw.WriteLine ();
+			GenCtors (gen_info);
+			GenMethods (gen_info, null, this);
+			GenEqualsAndHash (sw);
+
+			if (!need_close)
+				return;
+
+			sw.WriteLine ("#endregion");
+
+			sw.WriteLine ("\t}");
+			sw.WriteLine ("}");
+			sw.Close ();
+			gen_info.Writer = null;
+		}
+
+		private void GenNativeStruct (GenerationInfo gen_info)
+		{
+			StreamWriter sw = gen_info.Writer;
+
+			sw.WriteLine ("\t\t[StructLayout(LayoutKind.Sequential)]");
+			sw.WriteLine ("\t\tprivate partial struct NativeStruct {");
+			foreach (StructField field in fields) {
+				field.Generate (gen_info, "\t\t\t");
+			}
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+		}
+
+		private void GenNativeAccessor (GenerationInfo gen_info)
+		{
+			StreamWriter sw = gen_info.Writer;
+
+			sw.WriteLine ("\t\tNativeStruct Native {{", QualifiedName);
+			sw.WriteLine ("\t\t\tget { return (NativeStruct) Marshal.PtrToStructure (Handle, typeof (NativeStruct)); }");
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+		}
+
+		protected override void GenCtors (GenerationInfo gen_info)
+		{
+			StreamWriter sw = gen_info.Writer;
+
+			if (Parent == null) {
+				sw.WriteLine ("\t\tpublic {0} (IntPtr raw)", Name);
+				sw.WriteLine ("\t\t{");
+				sw.WriteLine ("\t\t\tthis.Handle = raw;");
+				sw.WriteLine ("\t\t}");
+			}
+			else
+				sw.Write ("\t\tpublic {0} (IntPtr raw) : base (raw) {{}}", Name);
+
+			sw.WriteLine ();
+
+			base.GenCtors (gen_info);
+		}
+
+		protected new void GenFields (GenerationInfo gen_info)
+		{
+			StreamWriter sw = gen_info.Writer;
+			sw.WriteLine ("\t\tprivate IntPtr Raw;");
+
+			sw.WriteLine ("\t\tpublic IntPtr Handle {");
+			sw.WriteLine ("\t\t\tget { return Raw; }");
+			sw.WriteLine ("\t\t\tset { Raw = value; }");
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+
+			foreach (StructField field in fields) {
+				if (!field.Visible)
+					continue;
+				sw.WriteLine ("\t\tpublic {0} {1} {{", SymbolTable.Table.GetCSType (field.CType), field.StudlyName);
+				sw.WriteLine ("\t\t\tget {{ return Native.{0}; }}", field.StudlyName);
+				if (!(SymbolTable.Table [field.CType] is CallbackGen))
+					sw.WriteLine ("\t\t\tset {{ NativeStruct native = Native; native.{0} = value;  Marshal.StructureToPtr (native, this.Handle, false); }}", field.StudlyName);
+				sw.WriteLine ("\t\t}");
+			}
+		}
+
+		protected void GenEqualsAndHash (StreamWriter sw)
+		{
+			StringBuilder hashcode = new StringBuilder ();
+			StringBuilder equals = new StringBuilder ();
+
+			sw.WriteLine ("\t\tpublic bool Equals ({0} other)", Name);
+			sw.WriteLine ("\t\t{");
+			hashcode.Append ("this.GetType().FullName.GetHashCode()");
+			equals.Append ("true");
+
+			foreach (StructField field in fields) {
+				if (field.IsPadding || !field.Visible || field.IsBitfield)
+					continue;
+
+				equals.Append (" && ");
+				equals.Append (field.EqualityName);
+				equals.Append (".Equals (other.");
+				equals.Append (field.EqualityName);
+				equals.Append (")");
+				hashcode.Append (" ^ ");
+				hashcode.Append (field.EqualityName);
+				hashcode.Append (".GetHashCode ()");
+			}
+			sw.WriteLine ("\t\t\treturn {0};", equals.ToString ());
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+			sw.WriteLine ("\t\tpublic override bool Equals (object other)");
+			sw.WriteLine ("\t\t{");
+			sw.WriteLine ("\t\t\treturn other is {0} && Equals (({0}) other);", Name);
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+			if (Elem.GetAttribute ("nohash") == "true")
+				return;
+			sw.WriteLine ("\t\tpublic override int GetHashCode ()");
+			sw.WriteLine ("\t\t{");
+			sw.WriteLine ("\t\t\treturn {0};", hashcode.ToString ());
+			sw.WriteLine ("\t\t}");
+			sw.WriteLine ();
+
+		}
+	}
+}
+
diff --git a/generator/ObjectField.cs b/generator/ObjectField.cs
index f0edd1a..2b004a6 100644
--- a/generator/ObjectField.cs
+++ b/generator/ObjectField.cs
@@ -32,7 +32,7 @@ namespace GtkSharp.Generation {
 				ctype = "const-" + CType;
 		}
 
-		protected override bool Writable {
+		internal override bool Writable {
 			get {
 				return elem.GetAttributeAsBoolean ("writeable");
 			}
diff --git a/generator/ObjectGen.cs b/generator/ObjectGen.cs
index 774a797..d514353 100644
--- a/generator/ObjectGen.cs
+++ b/generator/ObjectGen.cs
@@ -195,9 +195,10 @@ namespace GtkSharp.Generation {
 				GenSignals (gen_info, null);
 			}
 
+			GenConstants (gen_info);
 			GenClassMembers (gen_info, cs_parent);
 			GenMethods (gen_info, null, null);
-			
+
 			if (interfaces.Count != 0) {
 				var all_methods = new Dictionary<string, Method> ();
 				foreach (Method m in Methods.Values) {
@@ -260,8 +261,9 @@ namespace GtkSharp.Generation {
 		{
 			if (!Elem.HasAttribute("parent"))
 				return;
+			string defaultconstructoraccess = Elem.HasAttribute ("defaultconstructoraccess") ? Elem.GetAttribute ("defaultconstructoraccess") : "public";
 
-			gen_info.Writer.WriteLine("\t\tpublic " + Name + "(IntPtr raw) : base(raw) {}");
+			gen_info.Writer.WriteLine ("\t\t"+ defaultconstructoraccess + " " + Name + " (IntPtr raw) : base(raw) {}");
 			if (ctors.Count == 0 && !DisableVoidCtor) {
 				gen_info.Writer.WriteLine();
 				gen_info.Writer.WriteLine("\t\tprotected " + Name + "() : base(IntPtr.Zero)");
diff --git a/generator/OpaqueGen.cs b/generator/OpaqueGen.cs
index 5b71ea7..7cef605 100644
--- a/generator/OpaqueGen.cs
+++ b/generator/OpaqueGen.cs
@@ -79,7 +79,8 @@ namespace GtkSharp.Generation {
 
 			sw.WriteLine (" {");
 			sw.WriteLine ();
-            
+
+			GenConstants (gen_info);
 			GenFields (gen_info);
 			GenMethods (gen_info, null, null);
 			GenCtors (gen_info);
diff --git a/generator/Parameter.cs b/generator/Parameter.cs
index 2196f4b..02c0ad5 100644
--- a/generator/Parameter.cs
+++ b/generator/Parameter.cs
@@ -90,6 +90,12 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		internal bool IsOptional {
+			get {
+				return elem.GetAttributeAsBoolean ("allow-none");
+			}
+		}
+
 		bool is_count;
 		bool is_count_set;
 		public bool IsCount {
@@ -180,6 +186,12 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		public bool IsOwnable {
+			get {
+				return this.Generatable is OwnableGen;
+			}
+		}
+
 		public bool Owned {
 			get {
 				return elem.GetAttribute ("owned") == "true";
@@ -236,6 +248,36 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		int closure = -1;
+		public int Closure {
+			get {
+				if(closure == -1 && elem.HasAttribute ("closure"))
+					closure = int.Parse(elem.GetAttribute ("closure"));
+				return closure;
+			}
+			set {
+				closure = value;
+			}
+		}
+
+		int destroynotify = -1;
+		public int DestroyNotify {
+			get {
+				if (destroynotify == -1 && elem.HasAttribute ("destroy"))
+					destroynotify = int.Parse (elem.GetAttribute ("destroy"));
+				return destroynotify;
+			}
+			set {
+				destroynotify = value;
+			}
+		}
+
+		public bool IsHidden {
+			get {
+				return elem.GetAttributeAsBoolean ("hidden");
+			}
+		}
+
 		public virtual string[] Prepare {
 			get {
 				IGeneratable gen = Generatable;
diff --git a/generator/Parameters.cs b/generator/Parameters.cs
index ad31a1b..9ebecea 100644
--- a/generator/Parameters.cs
+++ b/generator/Parameters.cs
@@ -49,6 +49,18 @@ namespace GtkSharp.Generation {
 			get { return param_list.Count; }
 		}
 
+		// gapi assumes GError** parameters to be error parameters in version 1 and 2
+		private bool throws = false;
+		public bool Throws {
+			get {
+				if (Parser.GetVersion (elem.OwnerDocument.DocumentElement) <= 2)
+					return true;
+				if (!throws && elem.HasAttribute ("throws"))
+					throws = elem.GetAttributeAsBoolean ("throws");
+				return throws;
+			}
+		}
+
 		public int VisibleCount {
 			get {
 				int visible = 0;
@@ -76,20 +88,31 @@ namespace GtkSharp.Generation {
 			if (p.IsCount)
 				return true;
 
-			if (p.CType == "GError**")
+			if (p.IsHidden)
+				return true;
+
+			if (p.CType == "GError**" && Throws)
 				return true;
 
 			if (HasCB || HideData) {
-				if (p.IsUserData && (idx == Count - 1))
-                                        return true;
-				if (p.IsUserData && (idx == Count - 2) && this [Count - 1] is ErrorParameter)
-                                        return true;
-				if (p.IsUserData && idx > 0 &&
-				    this [idx - 1].Generatable is CallbackGen)
-					return true;
-				if (p.IsDestroyNotify && (idx == Count - 1) &&
-				    this [idx - 1].IsUserData)
-					return true;
+
+				if (Parser.GetVersion (elem.OwnerDocument.DocumentElement) >= 3) {
+					foreach (Parameter param in param_list) {
+						if (param.Closure == idx)
+							return true;
+						if (param.DestroyNotify == idx)
+							return true;
+					}
+				} else {
+					if (p.IsUserData && (idx == Count - 1))
+						return true;
+					if (p.IsUserData && (idx == Count - 2) && this [Count - 1] is ErrorParameter)
+						return true;
+					if (p.IsUserData && idx > 0 && this [idx - 1].Generatable is CallbackGen)
+						return true;
+					if (p.IsDestroyNotify && (idx == Count - 1) && this [idx - 1].IsUserData)
+						return true;
+				}
 			}
 
 			return false;
@@ -122,6 +145,11 @@ namespace GtkSharp.Generation {
 			set { is_static = value; }
 		}
 
+		bool has_optional;
+		internal bool HasOptional {
+			get { return has_optional;}
+		}
+
 		public Parameter GetCountParameter (string param_name)
 		{
 			foreach (Parameter p in this)
@@ -178,6 +206,9 @@ namespace GtkSharp.Generation {
 					return false;
 				}
 
+				if (p.IsOptional && p.PassAs == String.Empty)
+					has_optional = true;
+
 				IGeneratable gen = p.Generatable;
 
 				if (p.IsArray) {
@@ -204,7 +235,7 @@ namespace GtkSharp.Generation {
 							}
 						}
 					}
-				} else if (p.CType == "GError**")
+				} else if (p.CType == "GError**" && Throws)
 					p = new ErrorParameter (parm);
 				else if (gen is StructBase || gen is ByRefGen) {
 					p = new StructParameter (parm);
@@ -214,7 +245,8 @@ namespace GtkSharp.Generation {
 				param_list.Add (p);
 			}
 
-			if (has_cb && Count > 2 && this [Count - 3].Generatable is CallbackGen && this [Count - 2].IsUserData && this [Count - 1].IsDestroyNotify)
+			if (Parser.GetVersion (elem.OwnerDocument.DocumentElement) < 3 &&
+			    has_cb && Count > 2 && this [Count - 3].Generatable is CallbackGen && this [Count - 2].IsUserData && this [Count - 1].IsDestroyNotify)
 				this [Count - 3].Scope = "notified";
 
 			valid = true;
diff --git a/generator/Parser.cs b/generator/Parser.cs
index c9052d2..f206fdd 100644
--- a/generator/Parser.cs
+++ b/generator/Parser.cs
@@ -29,7 +29,7 @@ namespace GtkSharp.Generation {
 	using System.Xml.Schema;
 
 	public class Parser  {
-		const int curr_parser_version = 2;
+		const int curr_parser_version = 3;
 
 		private XmlDocument Load (string filename, string schema_file)
 		{
@@ -78,6 +78,11 @@ namespace GtkSharp.Generation {
 
 		public IGeneratable[] Parse (string filename, string schema_file)
 		{
+			return Parse (filename, schema_file, String.Empty);
+		}
+
+		public IGeneratable[] Parse (string filename, string schema_file, string gapidir)
+		{
 			XmlDocument doc = Load (filename, schema_file);
 			if (doc == null)
 				return null;
@@ -111,6 +116,21 @@ namespace GtkSharp.Generation {
 					continue;
 
 				switch (child.Name) {
+				case "include":
+					string xmlpath;
+
+					if (File.Exists (Path.Combine (gapidir, elem.GetAttribute ("xml"))))
+						xmlpath = Path.Combine (gapidir, elem.GetAttribute ("xml"));
+					else if (File.Exists (elem.GetAttribute ("xml")))
+					   xmlpath = elem.GetAttribute ("xml");
+					else {
+						Console.WriteLine ("Parser: Could not find include " + elem.GetAttribute ("xml"));
+						break;
+					}
+
+					IGeneratable[] curr_gens = Parse (xmlpath);
+					SymbolTable.Table.AddTypes (curr_gens);
+					break;
 				case "namespace":
 					gens.AddRange (ParseNamespace (elem));
 					break;
@@ -140,6 +160,7 @@ namespace GtkSharp.Generation {
 					continue;
 
 				bool is_opaque = elem.GetAttributeAsBoolean ("opaque");
+				bool is_native_struct = elem.GetAttributeAsBoolean ("native");
 
 				switch (def.Name) {
 				case "alias":
@@ -171,9 +192,14 @@ namespace GtkSharp.Generation {
 				case "class":
 					result.Add (new ClassGen (ns, elem));
 					break;
+				case "union":
+					result.Add (new UnionGen (ns, elem));
+					break;
 				case "struct":
 					if (is_opaque) {
 						result.Add (new OpaqueGen (ns, elem));
+					} else if (is_native_struct) {
+						result.Add (new NativeStructGen (ns, elem));
 					} else {
 						result.Add (new StructGen (ns, elem));
 					}
@@ -187,6 +213,12 @@ namespace GtkSharp.Generation {
 			return result;
 		}
 
+		internal static int GetVersion (XmlElement document_element)
+		{
+			XmlElement root = document_element;
+			return root.HasAttribute ("parser_version") ? int.Parse (root.GetAttribute ("parser_version")) : 1;
+		}
+
 		private IGeneratable ParseSymbol (XmlElement symbol)
 		{
 			string type = symbol.GetAttribute ("type");
diff --git a/generator/ReturnValue.cs b/generator/ReturnValue.cs
index 40d139f..f700e66 100644
--- a/generator/ReturnValue.cs
+++ b/generator/ReturnValue.cs
@@ -32,6 +32,7 @@ namespace GtkSharp.Generation {
 		bool elements_owned;
 		bool owned;
 		string array_length_param = String.Empty;
+		int array_length_param_index = -1;
 		string ctype = String.Empty;
 		string default_value = String.Empty;
 		string element_ctype = String.Empty;
@@ -43,6 +44,8 @@ namespace GtkSharp.Generation {
 				is_null_term = elem.GetAttributeAsBoolean ("null_term_array");
 				is_array = elem.GetAttributeAsBoolean ("array") || elem.HasAttribute ("array_length_param");
 				array_length_param = elem.GetAttribute ("array_length_param");
+				if (elem.HasAttribute ("array_length_param_length"))
+					array_length_param_index = int.Parse (elem.GetAttribute ("array_length_param_index"));
 				elements_owned = elem.GetAttributeAsBoolean ("elements_owned");
 				owned = elem.GetAttributeAsBoolean ("owned");
 				ctype = elem.GetAttribute("type");
@@ -60,6 +63,10 @@ namespace GtkSharp.Generation {
 			get { return array_length_param; }
 		}
 
+		public int CountParameterIndex {
+			get { return array_length_param_index; }
+		}
+
 		public string CType {
 			get {
 				return ctype;
@@ -80,7 +87,7 @@ namespace GtkSharp.Generation {
 
 		public string DefaultValue {
 			get {
-				if (default_value != null && default_value.Length > 0)
+				if (!String.IsNullOrEmpty (default_value))
 					return default_value;
 				if (IGen == null)
 					return String.Empty;
@@ -126,7 +133,9 @@ namespace GtkSharp.Generation {
 			get {
 				if (IGen == null)
 					return String.Empty;
-				return IGen.MarshalType + (is_array || is_null_term ? "[]" : String.Empty);
+				if (is_array || is_null_term)
+					return "IntPtr";
+				return IGen.MarshalType;
 			}
 		}
 
@@ -160,7 +169,7 @@ namespace GtkSharp.Generation {
 				string args = ", typeof (" + ElementType + "), " + (owned ? "true" : "false") + ", " + (elements_owned ? "true" : "false");
 				var = "new " + IGen.QualifiedName + "(" + var + args + ")";
 			} else if (is_null_term)
-				return String.Format ("GLib.Marshaller.StringArrayToNullTermPointer ({0})", var);
+				return String.Format ("GLib.Marshaller.StringArrayToNullTermStrvPointer ({0})", var);
 			else if (is_array)
 				return String.Format ("GLib.Marshaller.ArrayToArrayPtr ({0})", var);
 
diff --git a/generator/Signal.cs b/generator/Signal.cs
index 9c5f5d5..dfd18a2 100644
--- a/generator/Signal.cs
+++ b/generator/Signal.cs
@@ -25,6 +25,7 @@ namespace GtkSharp.Generation {
 
 	using System;
 	using System.Collections;
+	using System.Collections.Generic;
 	using System.IO;
 	using System.Xml;
 
@@ -113,43 +114,43 @@ namespace GtkSharp.Generation {
 			get { return Name + "SignalDelegate"; }
 		}
 
-                private string EventArgsName {
-                        get {
-                                if (IsEventHandler)
-                                        return "EventArgs";
-                                else
-                                        return Name + "Args";
-                        }
-                }
-                                                                                                                        
-                private string EventArgsQualifiedName {
-                        get {
-                                if (IsEventHandler)
-                                        return "System.EventArgs";
-                                else
-                                        return container_type.NS + "." + Name + "Args";
-                        }
-                }
-                                                                                                                        
-                private string EventHandlerName {
-                        get {
-                                if (IsEventHandler)
-                                        return "EventHandler";
-                                else if (SymbolTable.Table [container_type.NS + Name + "Handler"] != null)
-                                        return Name + "EventHandler";
+		private string EventArgsName {
+			get {
+				if (IsEventHandler)
+					return "EventArgs";
+				else
+					return Name + "Args";
+			}
+		}
+
+		private string EventArgsQualifiedName {
+			get {
+				if (IsEventHandler)
+					return "System.EventArgs";
+				else
+					return container_type.NS + "." + Name + "Args";
+			}
+		}
+
+		private string EventHandlerName {
+			get {
+				if (IsEventHandler)
+					return "EventHandler";
+				else if (SymbolTable.Table [container_type.NS + Name + "Handler"] != null)
+					return Name + "EventHandler";
+		else
+					return Name + "Handler";
+			}
+		}
+
+		private string EventHandlerQualifiedName {
+			get {
+				if (IsEventHandler)
+					return "System.EventHandler";
 				else
-                                        return Name + "Handler";
-                        }
-                }
-                                                                                                                        
-                private string EventHandlerQualifiedName {
-                        get {
-                                if (IsEventHandler)
-                                        return "System.EventHandler";
-                                else
-                                        return container_type.NS + "." + EventHandlerName;
-                        }
-                }
+					return container_type.NS + "." + EventHandlerName;
+			}
+		}
 
 		private bool IsEventHandler {
 			get {
@@ -157,7 +158,7 @@ namespace GtkSharp.Generation {
 			}
 		}
 
-		public string GenArgsInitialization (StreamWriter sw)
+		private string GenArgsInitialization (StreamWriter sw, IList<Parameter> dispose_params)
 		{
 			if (parms.Count > 0)
 				sw.WriteLine("\t\t\t\targs.Args = new object[" + parms.Count + "];");
@@ -172,8 +173,12 @@ namespace GtkSharp.Generation {
 						sw.WriteLine("\t\t\t\telse {");
 						sw.WriteLine("\t\t\t\t\targs.Args[" + idx + "] = " + p.FromNative ("arg" + idx)  + ";");
 						sw.WriteLine("\t\t\t\t}");
-					} else
+					} else if (dispose_params.Contains (p)) {
+						sw.WriteLine("\t\t\t\t" + p.Name + " = " + p.FromNative ("arg" + idx)  + ";");
+						sw.WriteLine("\t\t\t\targs.Args[" + idx + "] = " + p.Name  + ";");
+					} else {
 						sw.WriteLine("\t\t\t\targs.Args[" + idx + "] = " + p.FromNative ("arg" + idx)  + ";");
+					}
 				}
 				if ((igen is StructBase || igen is ByRefGen) && p.PassAs != "")
 					finish += "\t\t\t\tif (arg" + idx + " != IntPtr.Zero) System.Runtime.InteropServices.Marshal.StructureToPtr (args.Args[" + idx + "], arg" + idx + ", false);\n";
@@ -185,7 +190,7 @@ namespace GtkSharp.Generation {
 			return finish;
 		}
 
-		public void GenArgsCleanup (StreamWriter sw, string finish)
+		private void GenArgsCleanup (StreamWriter sw, string finish)
 		{
 			if (retval.IsVoid && finish.Length == 0)
 				return;
@@ -213,6 +218,13 @@ namespace GtkSharp.Generation {
 			if (IsEventHandler)
 				return;
 
+			IList<Parameter> dispose_params = new List<Parameter> ();
+			foreach (Parameter p in parms) {
+				if (p.IsOwnable) {
+					dispose_params.Add (p);
+				}
+			}
+
 			string native_signature = "IntPtr inst";
 			if (parms.Count > 0)
 				native_signature += ", " + CallbackSig;
@@ -224,17 +236,30 @@ namespace GtkSharp.Generation {
 			sw.WriteLine ("\t\tstatic {0} {1} ({2})", retval.ToNativeType, CallbackName, native_signature);
 			sw.WriteLine("\t\t{");
 			sw.WriteLine("\t\t\t{0} args = new {0} ();", EventArgsQualifiedName);
+			foreach (Parameter p in dispose_params) {
+				sw.WriteLine("\t\t\t{0} {1} = null;", p.CSType, p.Name);
+			}
 			sw.WriteLine("\t\t\ttry {");
 			sw.WriteLine("\t\t\t\tGLib.Signal sig = ((GCHandle) gch).Target as GLib.Signal;");
 			sw.WriteLine("\t\t\t\tif (sig == null)");
 			sw.WriteLine("\t\t\t\t\tthrow new Exception(\"Unknown signal GC handle received \" + gch);");
 			sw.WriteLine();
-			string finish = GenArgsInitialization (sw);
+			string finish = GenArgsInitialization (sw, dispose_params);
 			sw.WriteLine("\t\t\t\t{0} handler = ({0}) sig.Handler;", EventHandlerQualifiedName);
 			sw.WriteLine("\t\t\t\thandler (GLib.Object.GetObject (inst), args);");
 			sw.WriteLine("\t\t\t} catch (Exception e) {");
 			sw.WriteLine("\t\t\t\tGLib.ExceptionManager.RaiseUnhandledException (e, false);");
-			sw.WriteLine("\t\t\t}");
+			if (dispose_params.Count > 0) {
+				sw.WriteLine ("\t\t\t} finally {");
+				foreach (Parameter p in dispose_params) {
+					string disp_name = "disposable_" + p.Name;
+
+					sw.WriteLine ("\t\t\t\tvar " + disp_name + " = " + p.Name + " as IDisposable;");
+					sw.WriteLine ("\t\t\t\tif (" + disp_name + " != null)");
+					sw.WriteLine ("\t\t\t\t\t" + disp_name + ".Dispose ();");
+				}
+			}
+			sw.WriteLine ("\t\t\t}");
 			GenArgsCleanup (sw, finish);
 			sw.WriteLine("\t\t}");
 			sw.WriteLine();
diff --git a/generator/Signature.cs b/generator/Signature.cs
index 80808dd..c2f942a 100644
--- a/generator/Signature.cs
+++ b/generator/Signature.cs
@@ -118,6 +118,48 @@ namespace GtkSharp.Generation {
 				return String.Join (", ", result);
 			}
 		}
+
+		public string WithoutOptional ()
+		{
+			if (parms.Count == 0)
+				return String.Empty;
+
+			var result = new string [parms.Count];
+			int i = 0;
+
+			foreach (Parameter p in parms) {
+				if (p.IsOptional && p.PassAs == String.Empty)
+					continue;
+				result [i] = p.PassAs != String.Empty ? p.PassAs + " " : String.Empty;
+				result [i++] += p.CSType + " " + p.Name;
+			}
+
+			return String.Join (", ", result, 0, i);
+		}
+
+		public string CallWithoutOptionals ()
+		{
+			if (parms.Count == 0)
+				return String.Empty;
+
+			var result = new string [parms.Count];
+			int i = 0;
+
+			foreach (Parameter p in parms) {
+
+				result [i] = p.PassAs != "" ? p.PassAs + " " : "";
+				if (p.IsOptional && p.PassAs == String.Empty) {
+					if (p.IsArray)
+						result [i++] += "null";
+					else
+						result [i++] += p.Generatable.DefaultValue;
+				}
+				else
+					result [i++] += p.Name;
+			}
+
+			return String.Join (", ", result);
+		}
 	}
 }
 
diff --git a/generator/StructBase.cs b/generator/StructBase.cs
index 63ace75..2953d47 100644
--- a/generator/StructBase.cs
+++ b/generator/StructBase.cs
@@ -1,8 +1,11 @@
 // GtkSharp.Generation.StructBase.cs - The Structure/Boxed Base Class.
 //
-// Author: Mike Kestner <mkestner at speakeasy.net>
+// Authors:
+//   Mike Kestner <mkestner at speakeasy.net>
+//   Stephan Sundermann <stephansundermann at gmail.com>
 //
 // Copyright (c) 2001-2003 Mike Kestner
+// Copyright (c) 2013 Stephan Sundermann
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of version 2 of the GNU General Public
@@ -107,48 +110,68 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		public virtual bool Union {
+			get {
+				return false;
+			}
+		}
+
 		protected void GenEqualsAndHash (StreamWriter sw)
 		{
 			int bitfields = 0;
 			bool need_field = true;
-			StringBuilder sb = new StringBuilder ();
+			StringBuilder hashcode = new StringBuilder ();
+			StringBuilder equals = new StringBuilder ();
 
-			sw.WriteLine ("\t\tpublic bool Equals ({0} other)", Name);
-			sw.WriteLine ("\t\t{");
+			hashcode.Append ("this.GetType ().FullName.GetHashCode ()");
+			equals.Append ("true");
 
 			foreach (StructField field in fields) {
+				if (field.IsPadding)
+					continue;
 				if (field.IsBitfield) {
 					if (need_field) {
-						sw.WriteLine ("\t\tif (!_bitfield{0}.Equals (other._bitfield{0})) return false;", bitfields);
-						if (sb.Length > 0)
-							sb.Append (" ^ ");
-						sb.Append ("_bitfield");
-						sb.Append (bitfields++);
-						sb.Append (".GetHashCode ()");
+						equals.Append (" && _bitfield");
+						equals.Append (bitfields);
+						equals.Append (".Equals (other._bitfield");
+						equals.Append (bitfields);
+						equals.Append (")");
+						hashcode.Append (" ^ ");
+						hashcode.Append ("_bitfield");
+						hashcode.Append (bitfields++);
+						hashcode.Append (".GetHashCode ()");
 						need_field = false;
 					}
 				} else {
 					need_field = true;
-					sw.WriteLine ("\t\t\tif (!{0}.Equals (other.{0})) return false;", field.EqualityName);
-					if (sb.Length > 0)
-						sb.Append (" ^ ");
-					sb.Append (field.EqualityName);
-					sb.Append (".GetHashCode ()");
+					equals.Append (" && ");
+					equals.Append (field.EqualityName);
+					equals.Append (".Equals (other.");
+					equals.Append (field.EqualityName);
+					equals.Append (")");
+					hashcode.Append (" ^ ");
+					hashcode.Append (field.EqualityName);
+					hashcode.Append (".GetHashCode ()");
 				}
 			}
-			sw.WriteLine ("\t\t\treturn true;");
-			sw.WriteLine ("\t\t}");
-			sw.WriteLine ();
+
+			if (!Elem.GetAttributeAsBoolean ("noequals")) {
+				sw.WriteLine ("\t\tpublic bool Equals ({0} other)", Name);
+				sw.WriteLine ("\t\t{");
+				sw.WriteLine ("\t\t\treturn {0};", equals.ToString ());
+				sw.WriteLine ("\t\t}");
+				sw.WriteLine ();
+			}
 			sw.WriteLine ("\t\tpublic override bool Equals (object other)");
 			sw.WriteLine ("\t\t{");
 			sw.WriteLine ("\t\t\treturn other is {0} && Equals (({0}) other);", Name);
 			sw.WriteLine ("\t\t}");
 			sw.WriteLine ();
-			if (Elem.GetAttribute ("nohash") == "true")
+			if (Elem.GetAttributeAsBoolean ("nohash"))
 				return;
 			sw.WriteLine ("\t\tpublic override int GetHashCode ()");
 			sw.WriteLine ("\t\t{");
-			sw.WriteLine ("\t\t\treturn {0};", sb.ToString ());
+			sw.WriteLine ("\t\t\treturn {0};", hashcode.ToString ());
 			sw.WriteLine ("\t\t}");
 			sw.WriteLine ();
 
@@ -158,12 +181,13 @@ namespace GtkSharp.Generation {
 		{
 			int bitfields = 0;
 			bool need_field = true;
+			StreamWriter sw = gen_info.Writer;
 
 			foreach (StructField field in fields) {
+				if (Union)
+					sw.WriteLine ("\t\t[FieldOffset(0)]");
 				if (field.IsBitfield) {
 					if (need_field) {
-						StreamWriter sw = gen_info.Writer;
-
 						sw.WriteLine ("\t\tprivate uint _bitfield{0};\n", bitfields++);
 						need_field = false;
 					}
@@ -207,7 +231,10 @@ namespace GtkSharp.Generation {
 			sw.WriteLine ("#region Autogenerated code");
 			if (IsDeprecated)
 				sw.WriteLine ("\t[Obsolete]");
-			sw.WriteLine ("\t[StructLayout(LayoutKind.Sequential)]");
+			if (Union)
+				sw.WriteLine ("\t[StructLayout(LayoutKind.Explicit)]");
+			else
+				sw.WriteLine ("\t[StructLayout(LayoutKind.Sequential)]");
 			string access = IsInternal ? "internal" : "public";
 			sw.WriteLine ("\t" + access + " partial struct {0} : IEquatable<{0}> {{", Name);
 			sw.WriteLine ();
diff --git a/generator/StructField.cs b/generator/StructField.cs
index 7b62cab..58ccf1f 100644
--- a/generator/StructField.cs
+++ b/generator/StructField.cs
@@ -58,6 +58,10 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		bool IsNullTermArray {
+			get { return elem.GetAttributeAsBoolean ("null_term_array"); }
+		}
+
 		public new string CSType {
 			get {
 				string type = base.CSType;
@@ -70,6 +74,13 @@ namespace GtkSharp.Generation {
 			}
 		}
 
+		bool visible = false;
+		internal bool Visible {
+			get {
+				return visible;
+			}
+		}
+
 		public string EqualityName {
 			get {
 				SymbolTable table = SymbolTable.Table;
@@ -80,7 +91,7 @@ namespace GtkSharp.Generation {
 					return StudlyName;
 				else if (IsBitfield)
 					return Name;
-				else if (IsPointer && (gen is StructGen || gen is BoxedGen))
+				else if (IsPointer && (gen is StructGen || gen is BoxedGen || gen is UnionGen))
 					return Access != "private" ? wrapped_name : Name;
 				else if (IsPointer && CSType != "string")
 					return Name;
@@ -89,7 +100,7 @@ namespace GtkSharp.Generation {
 			}
 		}
 
-		bool IsPadding {
+		public bool IsPadding {
 			get {
 				return (CName.StartsWith ("dummy") || CName.StartsWith ("padding"));
 			}
@@ -127,6 +138,8 @@ namespace GtkSharp.Generation {
 			if (Hidden)
 				return;
 
+			visible = Access != "private";
+
 			StreamWriter sw = gen_info.Writer;
 			SymbolTable table = SymbolTable.Table;
 
@@ -134,9 +147,21 @@ namespace GtkSharp.Generation {
 			string wrapped_name = SymbolTable.Table.MangleName (CName);
 			IGeneratable gen = table [CType];
 
-			if (IsArray) {
+			if (IsArray && !IsNullTermArray) {
 				sw.WriteLine (indent + "[MarshalAs (UnmanagedType.ByValArray, SizeConst=" + ArrayLength + ")]");
 				sw.WriteLine (indent + "{0} {1} {2};", Access, CSType, StudlyName);
+			} else if (IsArray && IsNullTermArray) {
+				sw.WriteLine (indent + "private {0} {1};", "IntPtr", StudlyName+ "Ptr");
+				if ((Readable || Writable) && Access == "public") {
+					sw.WriteLine (indent + "public {0} {1} {{", CSType, StudlyName);
+					if (Readable)
+						sw.WriteLine (indent + "\tget {{ return GLib.Marshaller.StructArrayFromNullTerminatedIntPtr<{0}> ({1}); }}",
+						              base.CSType, StudlyName + "Ptr");
+					if (Writable)
+						sw.WriteLine (indent + "\tset {{ {0} = GLib.Marshaller.StructArrayToNullTerminatedStructArrayIntPtr<{1}> (value); }}",
+						              StudlyName + "Ptr", base.CSType);
+					sw.WriteLine (indent + "}");
+				}
 			} else if (IsBitfield) {
 				base.Generate (gen_info, indent);
 			} else if (gen is IAccessor) {
@@ -148,7 +173,7 @@ namespace GtkSharp.Generation {
 					acc.WriteAccessors (sw, indent + "\t", Name);
 					sw.WriteLine (indent + "}");
 				}
-			} else if (IsPointer && (gen is StructGen || gen is BoxedGen)) {
+			} else if (IsPointer && (gen is StructGen || gen is BoxedGen || gen is UnionGen)) {
 				sw.WriteLine (indent + "private {0} {1};", CSType, Name);
 				sw.WriteLine ();
 				if (Access != "private") {
@@ -158,6 +183,7 @@ namespace GtkSharp.Generation {
 				}
 			} else if (IsPointer && CSType != "string") {
 				// FIXME: probably some fields here which should be visible.
+				visible = false;
 				sw.WriteLine (indent + "private {0} {1};", CSType, Name);
 			} else {
 				sw.WriteLine (indent + "{0} {1} {2};", Access, CSType, Access == "public" ? StudlyName : Name);
diff --git a/generator/SymbolTable.cs b/generator/SymbolTable.cs
index 4ace944..520024c 100644
--- a/generator/SymbolTable.cs
+++ b/generator/SymbolTable.cs
@@ -69,6 +69,7 @@ namespace GtkSharp.Generation {
 			AddType (new SimpleGen ("guint32", "uint", "0"));
 			AddType (new SimpleGen ("gint64", "long", "0"));
 			AddType (new SimpleGen ("guint64", "ulong", "0"));
+			AddType (new SimpleGen ("unsigned long long", "ulong", "0"));
 			AddType (new SimpleGen ("long long", "long", "0"));
 			AddType (new SimpleGen ("gfloat", "float", "0.0"));
 			AddType (new SimpleGen ("float", "float", "0.0"));
@@ -126,12 +127,21 @@ namespace GtkSharp.Generation {
 			AddType (new ManualGen ("GVariant", "GLib.Variant"));
 			AddType (new ManualGen ("GVariantType", "GLib.VariantType"));
 			AddType (new ManualGen ("GValueArray", "GLib.ValueArray"));
+			AddType (new ManualGen ("GMutex", "GLib.Mutex"));
+			AddType (new ManualGen ("GRecMutex", "GLib.RecMutex"));
+			AddType (new ManualGen ("GCond", "GLib.Cond"));
+			AddType (new ManualGen ("GDateTime", "GLib.DateTime"));
+			AddType (new ManualGen ("GDate", "GLib.Date"));
+			AddType (new ManualGen ("GSource", "GLib.Source"));
+			AddType (new ManualGen ("GMainContext", "GLib.MainContext"));
+			AddType (new SimpleGen ("GPollFD", "GLib.PollFD", "GLib.PollFD.Zero"));
 			AddType (new MarshalGen ("gunichar", "char", "uint", "GLib.Marshaller.CharToGUnichar ({0})", "GLib.Marshaller.GUnicharToChar ({0})"));
 			AddType (new MarshalGen ("time_t", "System.DateTime", "IntPtr", "GLib.Marshaller.DateTimeTotime_t ({0})", "GLib.Marshaller.time_tToDateTime ({0})"));
 			AddType (new MarshalGen ("GString", "string", "IntPtr", "new GLib.GString ({0}).Handle", "GLib.GString.PtrToString ({0})"));
 			AddType (new MarshalGen ("GType", "GLib.GType", "IntPtr", "{0}.Val", "new GLib.GType({0})", "GLib.GType.None"));
 			AddType (new ByRefGen ("GValue", "GLib.Value"));
 			AddType (new SimpleGen ("GDestroyNotify", "GLib.DestroyNotify", "null"));
+			AddType (new SimpleGen ("GThread", "GLib.Thread", "null"));
 
 			// FIXME: These ought to be handled properly.
 			AddType (new SimpleGen ("GC", "IntPtr", "IntPtr.Zero"));
@@ -289,6 +299,13 @@ namespace GtkSharp.Generation {
 
 			return false;
 		}
+
+		public bool IsUnion (string c_type)
+		{
+			if (this[c_type] is UnionGen)
+				return true;
+			return false;
+		}
 	
 		public bool IsEnum(string c_type)
 		{
diff --git a/generator/ObjectField.cs b/generator/UnionGen.cs
similarity index 53%
copy from generator/ObjectField.cs
copy to generator/UnionGen.cs
index f0edd1a..66b4f19 100644
--- a/generator/ObjectField.cs
+++ b/generator/UnionGen.cs
@@ -1,6 +1,7 @@
-// GtkSharp.Generation.ObjectField.cs - autogenerated field glue
+// Authors:
+//   Stephan Sundermann <stephansundermann at gmail.com>
 //
-// Copyright (c) 2004 Novell, Inc.
+// Copyright (c) 2013 Stephan Sundermann
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of version 2 of the GNU General Public
@@ -16,33 +17,20 @@
 // Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 // Boston, MA 02111-1307, USA.
 
+using System.Xml;
 
-namespace GtkSharp.Generation {
+namespace GtkSharp.Generation
+{
+	public class UnionGen : StructBase {
 
-	using System;
-	using System.Collections;
-	using System.IO;
-	using System.Xml;
-
-	public class ObjectField : FieldBase {
-
-		public ObjectField (XmlElement elem, ClassBase container_type) : base (elem, container_type)
+		public UnionGen (XmlElement ns, XmlElement elem) : base (ns, elem)
 		{
-			if (CType == "char*" || CType == "gchar*")
-				ctype = "const-" + CType;
 		}
 
-		protected override bool Writable {
+		public override bool Union {
 			get {
-				return elem.GetAttributeAsBoolean ("writeable");
-			}
-		}
-
-		protected override string DefaultAccess {
-			get {
-				return "private";
+				return true;
 			}
 		}
 	}
 }
-
diff --git a/generator/VirtualMethod.cs b/generator/VirtualMethod.cs
index cb4410d..901ad02 100644
--- a/generator/VirtualMethod.cs
+++ b/generator/VirtualMethod.cs
@@ -90,21 +90,25 @@ namespace GtkSharp.Generation {
 				if (implementor != null)
 					type = implementor.QualifiedName;
 				else if (this.container_type is InterfaceGen)
-					type = this.container_type.Name + "Implementor"; // We are in an interface/adaptor, invoke the method in the implementor class
+					// We are in an interface/adaptor, invoke the method in the implementor class
+					type = (this.container_type as InterfaceGen).ImplementorName;
 				else
 					type = this.container_type.Name;
 
 				sw.WriteLine ("\t\t\t\t{0} __obj = GLib.Object.GetObject (inst, false) as {0};", type);
 			}
 
-			sw.Write (call.Setup ("\t\t\t\t"));
-			sw.Write ("\t\t\t\t");
+			string indent = "\t\t\t\t";
 			if (!retval.IsVoid)
-				sw.Write (retval.CSType + " __result = ");
+				sw.WriteLine (indent + retval.CSType + " __result;");
+			sw.Write (call.Setup (indent));
+			sw.Write (indent);
+			if (!retval.IsVoid)
+				sw.Write ("__result = ");
 			if (!this.IsStatic)
 				sw.Write ("__obj.");
 			sw.WriteLine (this.CallString + ";");
-			sw.Write (call.Finish ("\t\t\t\t"));
+			sw.Write (call.Finish (indent));
 			if (!retval.IsVoid)
 				sw.WriteLine ("\t\t\t\treturn " + retval.ToNative ("__result") + ";");
 
@@ -115,6 +119,11 @@ namespace GtkSharp.Generation {
 				sw.WriteLine ("\t\t\t\t// NOTREACHED: above call does not return.");
 				sw.WriteLine ("\t\t\t\tthrow e;");
 			}
+
+			if (call.HasDisposeParam) {
+				sw.WriteLine ("\t\t\t} finally {");
+				sw.Write (call.DisposeParams (indent));
+			}
 			sw.WriteLine ("\t\t\t}");
 			sw.WriteLine ("\t\t}");
 			sw.WriteLine ();
diff --git a/parser/gapi-fixup.cs b/generator/gapi-fixup.cs
similarity index 85%
rename from parser/gapi-fixup.cs
rename to generator/gapi-fixup.cs
index 67a9d82..9203fb3 100644
--- a/parser/gapi-fixup.cs
+++ b/generator/gapi-fixup.cs
@@ -1,8 +1,11 @@
 // gapi-fixup.cs - xml alteration engine.
 //
-// Author: Mike Kestner <mkestner at speakeasy.net>
+// Authors:
+//   Mike Kestner <mkestner at speakeasy.net>
+//   Stephan Sundermann <stephansundermann at gmail.com>
 //
 // Copyright (c) 2003 Mike Kestner
+// Copyright (c) 2013 Stephan Sundermann
 //
 // This program is free software; you can redistribute it and/or
 // modify it under the terms of version 2 of the GNU General Public
@@ -92,6 +95,26 @@ namespace GtkSharp.Parsing {
 			XPathNavigator meta_nav = meta_doc.CreateNavigator ();
 			XPathNavigator api_nav = api_doc.CreateNavigator ();
 
+			XPathNodeIterator copy_iter = meta_nav.Select ("/metadata/copy-node");
+			while (copy_iter.MoveNext ()) {
+				string path = copy_iter.Current.GetAttribute ("path", String.Empty);
+				XPathExpression expr = api_nav.Compile (path);
+				string parent = copy_iter.Current.Value;
+				XPathNodeIterator parent_iter = api_nav.Select (parent);
+				bool matched = false;
+				while (parent_iter.MoveNext ()) {
+					XmlNode parent_node = ((IHasXmlNode)parent_iter.Current).GetNode ();
+					XPathNodeIterator path_iter = parent_iter.Current.Clone ().Select (expr);
+					while (path_iter.MoveNext ()) {
+						XmlNode node = ((IHasXmlNode)path_iter.Current).GetNode ();
+						parent_node.AppendChild (node.Clone ());
+					}
+					matched = true;
+				}
+				if (!matched)
+					Console.WriteLine ("Warning: <copy-node path=\"{0}\"/> matched no nodes", path);
+			}
+
 			XPathNodeIterator rmv_iter = meta_nav.Select ("/metadata/remove-node");
 			while (rmv_iter.MoveNext ()) {
 				string path = rmv_iter.Current.GetAttribute ("path", "");
diff --git a/parser/gapi3-fixup.in b/generator/gapi3-fixup.in
similarity index 100%
rename from parser/gapi3-fixup.in
rename to generator/gapi3-fixup.in
diff --git a/gio/Gio.metadata b/gio/Gio.metadata
index aa09472..6c134ca 100644
--- a/gio/Gio.metadata
+++ b/gio/Gio.metadata
@@ -43,6 +43,7 @@
   <attr path="/api/namespace/class[@cname='GSimple_']" name="hidden">1</attr>
   <attr path="/api/namespace/class[@cname='GSimple_']/method[@name='AsyncReportGerrorInIdle']" name="name">ReportGerrorInIdle</attr>
   <attr path="/api/namespace/class[@cname='GSimple_']/method[@name='AsyncReportTakeGerrorInIdle']" name="name">ReportTakeGerrorInIdle</attr>
+  <attr path="/api/namespace/enum[@cname='GApplicationFlags']/member[@cname='G_APPLICATION_FLAGS_NONE']" name="name">None</attr>
   <attr path="/api/namespace/enum[@cname='GSocketFamily']/member[@name='Invalid']" name="value">0</attr>
   <attr path="/api/namespace/enum[@cname='GSocketFamily']/member[@name='Unix']" name="value">1</attr>
   <attr path="/api/namespace/enum[@cname='GSocketFamily']/member[@name='Ipv4']" name="value">2</attr>
@@ -151,6 +152,12 @@
   <attr path="/api/namespace/object[@cname='GResolver']/*[@name='LookupServiceFinish']/return-type" name="elements_owned">true</attr>
   <attr path="/api/namespace/object[@cname='GSettings']/method[@name='GetStrv']/return-type" name="null_term_array">1</attr>
   <attr path="/api/namespace/object[@cname='GSettings']/method[@name='GetStrv']/return-type" name="owned">true</attr>
+  <attr path="/api/namespace/object[@cname='GSettings']/method[@name='ListChildren']/return-type" name="null_term_array">1</attr>
+  <attr path="/api/namespace/object[@cname='GSettings']/method[@name='ListChildren']/return-type" name="owned">true</attr>
+  <attr path="/api/namespace/object[@cname='GSettings']/method[@name='ListKeys']/return-type" name="null_term_array">1</attr>
+  <attr path="/api/namespace/object[@cname='GSettings']/method[@name='ListKeys']/return-type" name="owned">true</attr>
+  <attr path="/api/namespace/object[@cname='GSettings']/method[@name='ListRelocatableSchemas']/return-type" name="null_term_array">1</attr>
+  <attr path="/api/namespace/object[@cname='GSettings']/method[@name='ListSchemas']/return-type" name="null_term_array">1</attr>
   <attr path="/api/namespace/object[@cname='GSettings']/method[@name='SetStrv']/*/*[@name='value']" name="null_term_array">1</attr>
   <attr path="/api/namespace/object[@cname='GSimpleAction']/signal[@cname='activate']" name="name">Activated</attr>
   <attr path="/api/namespace/object[@cname='GSimpleAsyncResult']/constructor[@cname='g_simple_async_result_new_error']" name="hidden">1</attr>
diff --git a/gio/Makefile.in b/gio/Makefile.in
index b50e61e..d244a1c 100644
--- a/gio/Makefile.in
+++ b/gio/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -758,12 +758,12 @@ uninstall-am: uninstall-gapiDATA uninstall-local \
 	uninstall-gapiDATA uninstall-local uninstall-pkgconfigDATA
 
 
-$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe
+$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe
 	cp $(srcdir)/$(RAW_API) $(API)
 	chmod u+w $(API)
 	@if test -n '$(METADATA)'; then		\
-		echo "$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
-		$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
+		echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
+		$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
 	fi
 
 generated-stamp: $(API) $(INCLUDE_API) $(top_builddir)/generator/gapi_codegen.exe $(GAPI_XSD)
diff --git a/gio/glue/Makefile.in b/gio/glue/Makefile.in
index c2c02c0..d7ea336 100644
--- a/gio/glue/Makefile.in
+++ b/gio/glue/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/glib/Argv.cs b/glib/Argv.cs
index 10893d2..7db81b4 100644
--- a/glib/Argv.cs
+++ b/glib/Argv.cs
@@ -30,18 +30,10 @@ namespace GLib {
 		IntPtr handle;
 		bool add_progname = false;
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern IntPtr g_malloc(IntPtr size);
-
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr mem);
-
 		~Argv ()
 		{
-			foreach (IntPtr arg in arg_ptrs)
-				g_free (arg);
-
-			g_free (handle);
+			Marshaller.Free (arg_ptrs);
+			Marshaller.Free (handle);
 		}
 				
 		public Argv (string[] args) : this (args, false) {}
@@ -61,7 +53,7 @@ namespace GLib {
 			for (int i = 0; i < args.Length; i++)
 				arg_ptrs [i] = Marshaller.StringToPtrGStrdup (args[i]);
 				
-			handle = g_malloc (new IntPtr (IntPtr.Size * args.Length));
+			handle = Marshaller.Malloc ((ulong)(IntPtr.Size * args.Length));
 
 			for (int i = 0; i < args.Length; i++)
 				Marshal.WriteIntPtr (handle, i * IntPtr.Size, arg_ptrs [i]);
diff --git a/glib/Cond.cs b/glib/Cond.cs
new file mode 100644
index 0000000..cc93566
--- /dev/null
+++ b/glib/Cond.cs
@@ -0,0 +1,62 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public partial class Cond : GLib.Opaque {
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_cond_broadcast(IntPtr raw);
+
+		public void Broadcast() {
+			g_cond_broadcast(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_cond_clear(IntPtr raw);
+
+		public void Clear() {
+			g_cond_clear(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_cond_init(IntPtr raw);
+
+		public void Init() {
+			g_cond_init(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_cond_signal(IntPtr raw);
+
+		public void Signal() {
+			g_cond_signal(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_cond_wait(IntPtr raw, IntPtr mutex);
+
+		public void Wait(GLib.Mutex mutex) {
+			g_cond_wait(Handle, mutex == null ? IntPtr.Zero : mutex.Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_cond_wait_until(IntPtr raw, IntPtr mutex, long end_time);
+
+		public bool WaitUntil(GLib.Mutex mutex, long end_time) {
+			bool raw_ret = g_cond_wait_until(Handle, mutex == null ? IntPtr.Zero : mutex.Handle, end_time);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		public Cond(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/glib/Date.cs b/glib/Date.cs
new file mode 100644
index 0000000..75961b2
--- /dev/null
+++ b/glib/Date.cs
@@ -0,0 +1,478 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public partial class Date : GLib.Opaque {
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_get_type();
+
+		public static GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_date_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_add_days(IntPtr raw, uint n_days);
+
+		public void AddDays(uint n_days) {
+			g_date_add_days(Handle, n_days);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_add_months(IntPtr raw, uint n_months);
+
+		public void AddMonths(uint n_months) {
+			g_date_add_months(Handle, n_months);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_add_years(IntPtr raw, uint n_years);
+
+		public void AddYears(uint n_years) {
+			g_date_add_years(Handle, n_years);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_clamp(IntPtr raw, IntPtr min_date, IntPtr max_date);
+
+		public void Clamp(GLib.Date min_date, GLib.Date max_date) {
+			g_date_clamp(Handle, min_date == null ? IntPtr.Zero : min_date.Handle, max_date == null ? IntPtr.Zero : max_date.Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_clear(IntPtr raw, uint n_dates);
+
+		public void Clear(uint n_dates) {
+			g_date_clear(Handle, n_dates);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_compare(IntPtr raw, IntPtr rhs);
+
+		public int Compare(GLib.Date rhs) {
+			int raw_ret = g_date_compare(Handle, rhs == null ? IntPtr.Zero : rhs.Handle);
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_days_between(IntPtr raw, IntPtr date2);
+
+		public int DaysBetween(GLib.Date date2) {
+			int raw_ret = g_date_days_between(Handle, date2 == null ? IntPtr.Zero : date2.Handle);
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern byte g_date_get_day(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_day(IntPtr raw, byte day);
+
+		public byte Day { 
+			get {
+				byte raw_ret = g_date_get_day(Handle);
+				byte ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_date_set_day(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_date_get_day_of_year(IntPtr raw);
+
+		public uint DayOfYear { 
+			get {
+				uint raw_ret = g_date_get_day_of_year(Handle);
+				uint ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_date_get_iso8601_week_of_year(IntPtr raw);
+
+		public uint Iso8601WeekOfYear { 
+			get {
+				uint raw_ret = g_date_get_iso8601_week_of_year(Handle);
+				uint ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_date_get_julian(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_julian(IntPtr raw, uint julian_date);
+
+		public uint Julian { 
+			get {
+				uint raw_ret = g_date_get_julian(Handle);
+				uint ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_date_set_julian(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_date_get_monday_week_of_year(IntPtr raw);
+
+		public uint MondayWeekOfYear { 
+			get {
+				uint raw_ret = g_date_get_monday_week_of_year(Handle);
+				uint ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_get_month(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_month(IntPtr raw, int month);
+
+		public int Month { 
+			get {
+				int raw_ret = g_date_get_month(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_date_set_month(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_date_get_sunday_week_of_year(IntPtr raw);
+
+		public uint SundayWeekOfYear { 
+			get {
+				uint raw_ret = g_date_get_sunday_week_of_year(Handle);
+				uint ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_get_weekday(IntPtr raw);
+
+		public int Weekday { 
+			get {
+				int raw_ret = g_date_get_weekday(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern ushort g_date_get_year(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_year(IntPtr raw, ushort year);
+
+		public ushort Year { 
+			get {
+				ushort raw_ret = g_date_get_year(Handle);
+				ushort ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_date_set_year(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_is_first_of_month(IntPtr raw);
+
+		public bool IsFirstOfMonth { 
+			get {
+				bool raw_ret = g_date_is_first_of_month(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_is_last_of_month(IntPtr raw);
+
+		public bool IsLastOfMonth { 
+			get {
+				bool raw_ret = g_date_is_last_of_month(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_order(IntPtr raw, IntPtr date2);
+
+		public void Order(GLib.Date date2) {
+			g_date_order(Handle, date2 == null ? IntPtr.Zero : date2.Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_dmy(IntPtr raw, byte day, int month, ushort y);
+
+		public void SetDmy(byte day, int month, ushort y) {
+			g_date_set_dmy(Handle, day, month, y);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_parse(IntPtr raw, IntPtr str);
+
+		public string Parse { 
+			set {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_date_set_parse(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_time(IntPtr raw, int time_);
+
+		[Obsolete]
+		public int Time { 
+			set {
+				g_date_set_time(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_time_t(IntPtr raw, IntPtr timet);
+
+		public long TimeT { 
+			set {
+				g_date_set_time_t(Handle, new IntPtr (value));
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_set_time_val(IntPtr raw, IntPtr value);
+
+		public GLib.TimeVal TimeVal { 
+			set {
+				IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+				g_date_set_time_val(Handle, native_value);
+				value = GLib.TimeVal.New (native_value);
+				Marshal.FreeHGlobal (native_value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_subtract_days(IntPtr raw, uint n_days);
+
+		public void SubtractDays(uint n_days) {
+			g_date_subtract_days(Handle, n_days);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_subtract_months(IntPtr raw, uint n_months);
+
+		public void SubtractMonths(uint n_months) {
+			g_date_subtract_months(Handle, n_months);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_subtract_years(IntPtr raw, uint n_years);
+
+		public void SubtractYears(uint n_years) {
+			g_date_subtract_years(Handle, n_years);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_to_struct_tm(IntPtr raw, IntPtr tm);
+
+		public void ToStructTm(IntPtr tm) {
+			g_date_to_struct_tm(Handle, tm);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid(IntPtr raw);
+
+		public bool Valid() {
+			bool raw_ret = g_date_valid(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern byte g_date_get_days_in_month(int month, ushort year);
+
+		public static byte GetDaysInMonth(int month, ushort year) {
+			byte raw_ret = g_date_get_days_in_month(month, year);
+			byte ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern byte g_date_get_monday_weeks_in_year(ushort year);
+
+		public static byte GetMondayWeeksInYear(ushort year) {
+			byte raw_ret = g_date_get_monday_weeks_in_year(year);
+			byte ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern byte g_date_get_sunday_weeks_in_year(ushort year);
+
+		public static byte GetSundayWeeksInYear(ushort year) {
+			byte raw_ret = g_date_get_sunday_weeks_in_year(year);
+			byte ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_is_leap_year(ushort year);
+
+		public static bool IsLeapYear(ushort year) {
+			bool raw_ret = g_date_is_leap_year(year);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern UIntPtr g_date_strftime(IntPtr s, UIntPtr slen, IntPtr format, IntPtr date);
+
+		public static ulong Strftime(string s, string format, GLib.Date date) {
+			IntPtr native_s = GLib.Marshaller.StringToPtrGStrdup (s);
+			IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+			UIntPtr raw_ret = g_date_strftime(native_s, new UIntPtr ((ulong) System.Text.Encoding.UTF8.GetByteCount (s)), native_format, date == null ? IntPtr.Zero : date.Handle);
+			ulong ret = (ulong) raw_ret;
+			GLib.Marshaller.Free (native_s);
+			GLib.Marshaller.Free (native_format);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid_day(byte day);
+
+		public static bool ValidDay(byte day) {
+			bool raw_ret = g_date_valid_day(day);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid_dmy(byte day, int month, ushort year);
+
+		public static bool ValidDmy(byte day, int month, ushort year) {
+			bool raw_ret = g_date_valid_dmy(day, month, year);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid_julian(uint julian_date);
+
+		public static bool ValidJulian(uint julian_date) {
+			bool raw_ret = g_date_valid_julian(julian_date);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid_month(int month);
+
+		public static bool ValidMonth(int month) {
+			bool raw_ret = g_date_valid_month(month);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid_weekday(int weekday);
+
+		public static bool ValidWeekday(int weekday) {
+			bool raw_ret = g_date_valid_weekday(weekday);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_valid_year(ushort year);
+
+		public static bool ValidYear(ushort year) {
+			bool raw_ret = g_date_valid_year(year);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		public Date(IntPtr raw) : base(raw) {}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_new();
+
+		public Date () 
+		{
+			Raw = g_date_new();
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_new_dmy(byte day, int month, ushort year);
+
+		public Date (byte day, int month, ushort year) 
+		{
+			Raw = g_date_new_dmy(day, month, year);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_new_julian(uint julian_day);
+
+		public Date (uint julian_day) 
+		{
+			Raw = g_date_new_julian(julian_day);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_free(IntPtr raw);
+
+		protected override void Free (IntPtr raw)
+		{
+			g_date_free (raw);
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_date_free (handle);
+				return false;
+			}
+		}
+
+		~Date ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
+
+#endregion
+	}
+}
diff --git a/glib/DateTime.cs b/glib/DateTime.cs
new file mode 100644
index 0000000..2ac54a8
--- /dev/null
+++ b/glib/DateTime.cs
@@ -0,0 +1,512 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public partial class DateTime : GLib.Opaque {
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_get_type();
+
+		public static GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_date_time_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add(IntPtr raw, long timespan);
+
+		public GLib.DateTime Add(long timespan) {
+			IntPtr raw_ret = g_date_time_add(Handle, timespan);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_days(IntPtr raw, int days);
+
+		public GLib.DateTime AddDays(int days) {
+			IntPtr raw_ret = g_date_time_add_days(Handle, days);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_full(IntPtr raw, int years, int months, int days, int hours, int minutes, double seconds);
+
+		public GLib.DateTime AddFull(int years, int months, int days, int hours, int minutes, double seconds) {
+			IntPtr raw_ret = g_date_time_add_full(Handle, years, months, days, hours, minutes, seconds);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_hours(IntPtr raw, int hours);
+
+		public GLib.DateTime AddHours(int hours) {
+			IntPtr raw_ret = g_date_time_add_hours(Handle, hours);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_minutes(IntPtr raw, int minutes);
+
+		public GLib.DateTime AddMinutes(int minutes) {
+			IntPtr raw_ret = g_date_time_add_minutes(Handle, minutes);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_months(IntPtr raw, int months);
+
+		public GLib.DateTime AddMonths(int months) {
+			IntPtr raw_ret = g_date_time_add_months(Handle, months);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_seconds(IntPtr raw, double seconds);
+
+		public GLib.DateTime AddSeconds(double seconds) {
+			IntPtr raw_ret = g_date_time_add_seconds(Handle, seconds);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_weeks(IntPtr raw, int weeks);
+
+		public GLib.DateTime AddWeeks(int weeks) {
+			IntPtr raw_ret = g_date_time_add_weeks(Handle, weeks);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_add_years(IntPtr raw, int years);
+
+		public GLib.DateTime AddYears(int years) {
+			IntPtr raw_ret = g_date_time_add_years(Handle, years);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern long g_date_time_difference(IntPtr raw, IntPtr begin);
+
+		public long Difference(GLib.DateTime begin) {
+			long raw_ret = g_date_time_difference(Handle, begin == null ? IntPtr.Zero : begin.Handle);
+			long ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_format(IntPtr raw, IntPtr format);
+
+		public string Format(string format) {
+			IntPtr native_format = GLib.Marshaller.StringToPtrGStrdup (format);
+			IntPtr raw_ret = g_date_time_format(Handle, native_format);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			GLib.Marshaller.Free (native_format);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_day_of_month(IntPtr raw);
+
+		public int DayOfMonth { 
+			get {
+				int raw_ret = g_date_time_get_day_of_month(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_day_of_week(IntPtr raw);
+
+		public int DayOfWeek { 
+			get {
+				int raw_ret = g_date_time_get_day_of_week(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_day_of_year(IntPtr raw);
+
+		public int DayOfYear { 
+			get {
+				int raw_ret = g_date_time_get_day_of_year(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_hour(IntPtr raw);
+
+		public int Hour { 
+			get {
+				int raw_ret = g_date_time_get_hour(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_microsecond(IntPtr raw);
+
+		public int Microsecond { 
+			get {
+				int raw_ret = g_date_time_get_microsecond(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_minute(IntPtr raw);
+
+		public int Minute { 
+			get {
+				int raw_ret = g_date_time_get_minute(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_month(IntPtr raw);
+
+		public int Month { 
+			get {
+				int raw_ret = g_date_time_get_month(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_second(IntPtr raw);
+
+		public int Second { 
+			get {
+				int raw_ret = g_date_time_get_second(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern double g_date_time_get_seconds(IntPtr raw);
+
+		public double Seconds { 
+			get {
+				double raw_ret = g_date_time_get_seconds(Handle);
+				double ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_get_timezone_abbreviation(IntPtr raw);
+
+		public string TimezoneAbbreviation { 
+			get {
+				IntPtr raw_ret = g_date_time_get_timezone_abbreviation(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern long g_date_time_get_utc_offset(IntPtr raw);
+
+		public long UtcOffset { 
+			get {
+				long raw_ret = g_date_time_get_utc_offset(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_week_numbering_year(IntPtr raw);
+
+		public int WeekNumberingYear { 
+			get {
+				int raw_ret = g_date_time_get_week_numbering_year(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_week_of_year(IntPtr raw);
+
+		public int WeekOfYear { 
+			get {
+				int raw_ret = g_date_time_get_week_of_year(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_get_year(IntPtr raw);
+
+		public int Year { 
+			get {
+				int raw_ret = g_date_time_get_year(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_time_get_ymd(IntPtr raw, out int year, out int month, out int day);
+
+		public void GetYmd(out int year, out int month, out int day) {
+			g_date_time_get_ymd(Handle, out year, out month, out day);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_time_is_daylight_savings(IntPtr raw);
+
+		public bool IsDaylightSavings { 
+			get {
+				bool raw_ret = g_date_time_is_daylight_savings(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_to_local(IntPtr raw);
+
+		public GLib.DateTime ToLocal() {
+			IntPtr raw_ret = g_date_time_to_local(Handle);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_time_to_timeval(IntPtr raw, IntPtr tv);
+
+		public bool ToTimeval(GLib.TimeVal tv) {
+			IntPtr native_tv = GLib.Marshaller.StructureToPtrAlloc (tv);
+			bool raw_ret = g_date_time_to_timeval(Handle, native_tv);
+			bool ret = raw_ret;
+			tv = GLib.TimeVal.New (native_tv);
+			Marshal.FreeHGlobal (native_tv);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_to_timezone(IntPtr raw, IntPtr tz);
+
+		public GLib.DateTime ToTimezone(GLib.TimeZone tz) {
+			IntPtr raw_ret = g_date_time_to_timezone(Handle, tz == null ? IntPtr.Zero : tz.Handle);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern long g_date_time_to_unix(IntPtr raw);
+
+		public long ToUnix() {
+			long raw_ret = g_date_time_to_unix(Handle);
+			long ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_to_utc(IntPtr raw);
+
+		public GLib.DateTime ToUtc() {
+			IntPtr raw_ret = g_date_time_to_utc(Handle);
+			GLib.DateTime ret = raw_ret == IntPtr.Zero ? null : (GLib.DateTime) GLib.Opaque.GetOpaque (raw_ret, typeof (GLib.DateTime), true);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_date_time_compare(IntPtr dt1, IntPtr dt2);
+
+		public static int Compare(IntPtr dt1, IntPtr dt2) {
+			int raw_ret = g_date_time_compare(dt1, dt2);
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_date_time_equal(IntPtr dt1, IntPtr dt2);
+
+		public static bool Equal(IntPtr dt1, IntPtr dt2) {
+			bool raw_ret = g_date_time_equal(dt1, dt2);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_date_time_hash(IntPtr datetime);
+
+		public static uint Hash(IntPtr datetime) {
+			uint raw_ret = g_date_time_hash(datetime);
+			uint ret = raw_ret;
+			return ret;
+		}
+
+		public DateTime(IntPtr raw) : base(raw) {}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new(IntPtr tz, int year, int month, int day, int hour, int minute, double seconds);
+
+		public DateTime (GLib.TimeZone tz, int year, int month, int day, int hour, int minute, double seconds) 
+		{
+			Raw = g_date_time_new(tz == null ? IntPtr.Zero : tz.Handle, year, month, day, hour, minute, seconds);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_from_timeval_local(IntPtr tv);
+
+		public DateTime (GLib.TimeVal tv) 
+		{
+			IntPtr native_tv = GLib.Marshaller.StructureToPtrAlloc (tv);
+			Raw = g_date_time_new_from_timeval_local(native_tv);
+			tv = GLib.TimeVal.New (native_tv);
+			Marshal.FreeHGlobal (native_tv);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_from_timeval_utc(IntPtr tv);
+
+		public static DateTime NewFromTimevalUtc(GLib.TimeVal tv)
+		{
+			IntPtr native_tv = GLib.Marshaller.StructureToPtrAlloc (tv);
+			DateTime result = new DateTime (g_date_time_new_from_timeval_utc(native_tv));
+			tv = GLib.TimeVal.New (native_tv);
+			Marshal.FreeHGlobal (native_tv);
+			return result;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_from_unix_local(long t);
+
+		public DateTime (long t) 
+		{
+			Raw = g_date_time_new_from_unix_local(t);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_from_unix_utc(long t);
+
+		public static DateTime NewFromUnixUtc(long t)
+		{
+			DateTime result = new DateTime (g_date_time_new_from_unix_utc(t));
+			return result;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_local(int year, int month, int day, int hour, int minute, double seconds);
+
+		public DateTime (int year, int month, int day, int hour, int minute, double seconds) 
+		{
+			Raw = g_date_time_new_local(year, month, day, hour, minute, seconds);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_now(IntPtr tz);
+
+		public DateTime (GLib.TimeZone tz) 
+		{
+			Raw = g_date_time_new_now(tz == null ? IntPtr.Zero : tz.Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_now_local();
+
+		public DateTime () 
+		{
+			Raw = g_date_time_new_now_local();
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_now_utc();
+
+		public static DateTime NewNowUtc()
+		{
+			DateTime result = new DateTime (g_date_time_new_now_utc());
+			return result;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_new_utc(int year, int month, int day, int hour, int minute, double seconds);
+
+		public static DateTime NewUtc(int year, int month, int day, int hour, int minute, double seconds)
+		{
+			DateTime result = new DateTime (g_date_time_new_utc(year, month, day, hour, minute, seconds));
+			return result;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_date_time_ref(IntPtr raw);
+
+		protected override void Ref (IntPtr raw)
+		{
+			if (!Owned) {
+				g_date_time_ref (raw);
+				Owned = true;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_date_time_unref(IntPtr raw);
+
+		protected override void Unref (IntPtr raw)
+		{
+			if (Owned) {
+				g_date_time_unref (raw);
+				Owned = false;
+			}
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_date_time_unref (handle);
+				return false;
+			}
+		}
+
+		~DateTime ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
+
+#endregion
+	}
+}
diff --git a/glib/FileUtils.cs b/glib/FileUtils.cs
index cdd66f8..8aa0321 100644
--- a/glib/FileUtils.cs
+++ b/glib/FileUtils.cs
@@ -26,10 +26,10 @@ namespace GLib {
 
 	public class FileUtils
 	{
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		extern static bool g_file_get_contents (IntPtr filename, out IntPtr contents, out int length, out IntPtr error);
 
-		[DllImport("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		extern static bool g_file_get_contents_utf8 (IntPtr filename, out IntPtr contents, out int length, out IntPtr error);
 
 		public static string GetFileContents (string filename)
diff --git a/glib/GException.cs b/glib/GException.cs
index 91ebbbd..cb113af 100644
--- a/glib/GException.cs
+++ b/glib/GException.cs
@@ -60,7 +60,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_clear_error (ref IntPtr errptr);
 		~GException ()
 		{
diff --git a/glib/GInterfaceAdapter.cs b/glib/GInterfaceAdapter.cs
index ab71f68..f866367 100644
--- a/glib/GInterfaceAdapter.cs
+++ b/glib/GInterfaceAdapter.cs
@@ -50,7 +50,7 @@ namespace GLib {
 			}
 		}
 
-		public abstract GType GType { get; }
+		public abstract GType GInterfaceGType { get; }
 
 		public abstract IntPtr Handle { get; }
 
diff --git a/glib/GLibSharp.SourceDummyMarshalNative.cs b/glib/GLibSharp.SourceDummyMarshalNative.cs
new file mode 100644
index 0000000..3a491b8
--- /dev/null
+++ b/glib/GLibSharp.SourceDummyMarshalNative.cs
@@ -0,0 +1,92 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+	internal delegate void SourceDummyMarshalNative();
+
+	internal class SourceDummyMarshalInvoker {
+
+		SourceDummyMarshalNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~SourceDummyMarshalInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal SourceDummyMarshalInvoker (SourceDummyMarshalNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal SourceDummyMarshalInvoker (SourceDummyMarshalNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal SourceDummyMarshalInvoker (SourceDummyMarshalNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.SourceDummyMarshal Handler {
+			get {
+				return new GLib.SourceDummyMarshal(InvokeNative);
+			}
+		}
+
+		void InvokeNative ()
+		{
+			native_cb ();
+		}
+	}
+
+	internal class SourceDummyMarshalWrapper {
+
+		public void NativeCallback ()
+		{
+			try {
+				managed ();
+				if (release_on_call)
+					gch.Free ();
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal SourceDummyMarshalNative NativeDelegate;
+		GLib.SourceDummyMarshal managed;
+
+		public SourceDummyMarshalWrapper (GLib.SourceDummyMarshal managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new SourceDummyMarshalNative (NativeCallback);
+		}
+
+		public static GLib.SourceDummyMarshal GetManagedDelegate (SourceDummyMarshalNative native)
+		{
+			if (native == null)
+				return null;
+			SourceDummyMarshalWrapper wrapper = (SourceDummyMarshalWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/glib/GLibSharp.SourceFuncNative.cs b/glib/GLibSharp.SourceFuncNative.cs
new file mode 100644
index 0000000..de915f5
--- /dev/null
+++ b/glib/GLibSharp.SourceFuncNative.cs
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLibSharp {
+
+	using System;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+	internal delegate bool SourceFuncNative(IntPtr user_data);
+
+	internal class SourceFuncInvoker {
+
+		SourceFuncNative native_cb;
+		IntPtr __data;
+		GLib.DestroyNotify __notify;
+
+		~SourceFuncInvoker ()
+		{
+			if (__notify == null)
+				return;
+			__notify (__data);
+		}
+
+		internal SourceFuncInvoker (SourceFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+		internal SourceFuncInvoker (SourceFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+		internal SourceFuncInvoker (SourceFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+		{
+			this.native_cb = native_cb;
+			__data = data;
+			__notify = notify;
+		}
+
+		internal GLib.SourceFunc Handler {
+			get {
+				return new GLib.SourceFunc(InvokeNative);
+			}
+		}
+
+		bool InvokeNative (IntPtr user_data)
+		{
+			bool __result = native_cb (__data);
+			return __result;
+		}
+	}
+
+	internal class SourceFuncWrapper {
+
+		public bool NativeCallback (IntPtr user_data)
+		{
+			try {
+				bool __ret = managed (user_data);
+				if (release_on_call)
+					gch.Free ();
+				return __ret;
+			} catch (Exception e) {
+				GLib.ExceptionManager.RaiseUnhandledException (e, false);
+				return false;
+			}
+		}
+
+		bool release_on_call = false;
+		GCHandle gch;
+
+		public void PersistUntilCalled ()
+		{
+			release_on_call = true;
+			gch = GCHandle.Alloc (this);
+		}
+
+		internal SourceFuncNative NativeDelegate;
+		GLib.SourceFunc managed;
+
+		public SourceFuncWrapper (GLib.SourceFunc managed)
+		{
+			this.managed = managed;
+			if (managed != null)
+				NativeDelegate = new SourceFuncNative (NativeCallback);
+		}
+
+		public static GLib.SourceFunc GetManagedDelegate (SourceFuncNative native)
+		{
+			if (native == null)
+				return null;
+			SourceFuncWrapper wrapper = (SourceFuncWrapper) native.Target;
+			if (wrapper == null)
+				return null;
+			return wrapper.managed;
+		}
+	}
+#endregion
+}
diff --git a/glib/GString.cs b/glib/GString.cs
index cb8c0c1..1575b3c 100644
--- a/glib/GString.cs
+++ b/glib/GString.cs
@@ -27,7 +27,7 @@ namespace GLib {
 
 		IntPtr handle;
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_string_free (IntPtr mem, bool free_segments);
 
 		~GString ()
@@ -35,7 +35,7 @@ namespace GLib {
 			g_string_free (handle, true);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_string_new (IntPtr text);
 
 		public GString (string text) 
diff --git a/glib/GType.cs b/glib/GType.cs
old mode 100755
new mode 100644
index b236dd4..2e6bdae
--- a/glib/GType.cs
+++ b/glib/GType.cs
@@ -416,37 +416,37 @@ namespace GLib {
 			return GType.Is (ValFromInstancePtr (raw), this);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_class_peek (IntPtr gtype);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_class_ref (IntPtr gtype);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_default_interface_peek (IntPtr gtype);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_default_interface_ref (IntPtr gtype);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_from_name (string name);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_type_init ();
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_name (IntPtr raw);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_parent (IntPtr type);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_type_query (IntPtr type, out GTypeQuery query);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_register_static (IntPtr parent, IntPtr name, ref GTypeInfo info, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_type_is_a (IntPtr type, IntPtr is_a_type);
 	}
 }
diff --git a/glib/Global.cs b/glib/Global.cs
index 9fdde28..46ebeac 100644
--- a/glib/Global.cs
+++ b/glib/Global.cs
@@ -31,6 +31,9 @@ namespace GLib {
 		//this is a static class
 		private Global () {}
 
+		internal const string GLibNativeDll = "libglib-2.0-0.dll";
+		internal const string GObjectNativeDll = "libgobject-2.0-0.dll";
+
 		internal static bool IsWindowsPlatform {
 			get {
 				switch (Environment.OSVersion.Platform) {
@@ -56,10 +59,10 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_set_prgname (IntPtr name);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_get_prgname ();
 
 		public static string ApplicationName {
@@ -73,13 +76,13 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_set_application_name (IntPtr name);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_get_application_name ();
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_format_size_for_display (long size);
 		
 		static public string FormatSizeForDisplay (long size)
diff --git a/glib/IOChannel.cs b/glib/IOChannel.cs
index 4567399..aaf8d23 100644
--- a/glib/IOChannel.cs
+++ b/glib/IOChannel.cs
@@ -323,103 +323,103 @@ namespace GLib {
 			return (IOChannelError) g_io_channel_error_from_errno (en);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_channel_unix_new (int fd);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_channel_new_file (IntPtr filename, IntPtr mode, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_channel_new_file_utf8 (IntPtr filename, IntPtr mode, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_error_quark ();
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_error_from_errno (int en);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_flush (IntPtr raw, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_io_channel_init (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_read_chars (IntPtr raw, byte[] buf, UIntPtr count, out UIntPtr bytes_read, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_read_line (IntPtr raw, out IntPtr str_return, IntPtr length, out UIntPtr terminator_pos, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_read_to_end (IntPtr raw, out IntPtr str_return, out UIntPtr length, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_read_unichar (IntPtr raw, out uint thechar, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_seek_position (IntPtr raw, long offset, int type, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_shutdown (IntPtr raw, bool flush, out IntPtr err);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_write_chars (IntPtr raw, byte[] buf, IntPtr count, out UIntPtr bytes_written, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_write_unichar (IntPtr raw, uint thechar, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_get_buffer_condition (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_io_channel_get_buffered (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_io_channel_set_buffered (IntPtr raw, bool buffered);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern UIntPtr g_io_channel_get_buffer_size (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_io_channel_set_buffer_size (IntPtr raw, UIntPtr size);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_io_channel_get_close_on_unref (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_io_channel_set_close_on_unref (IntPtr raw, bool do_close);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_channel_get_encoding (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_set_encoding (IntPtr raw, IntPtr encoding, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_get_flags (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_set_flags (IntPtr raw, int flags, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_channel_get_line_term (IntPtr raw, out int length);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_io_channel_set_line_term (IntPtr raw, byte[] term, int length);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_io_channel_unix_get_fd (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_channel_ref (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_io_channel_unref (IntPtr raw);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_io_add_watch_full (IntPtr raw, int priority, int condition, IOFuncNative func, IntPtr user_data, DestroyNotify notify);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_io_create_watch (IntPtr raw, int condition);
 	}
 
diff --git a/glib/Idle.cs b/glib/Idle.cs
old mode 100755
new mode 100644
index d4e0765..12b1cbb
--- a/glib/Idle.cs
+++ b/glib/Idle.cs
@@ -89,7 +89,7 @@ namespace GLib {
 		{
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_idle_add (IdleHandlerInternal d, IntPtr data);
 
 		public static uint Add (IdleHandler hndlr)
@@ -102,7 +102,7 @@ namespace GLib {
 			return p.ID;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_idle_add_full (int priority, IdleHandlerInternal d, IntPtr data, DestroyNotify notify);
 
 		public static uint Add (IdleHandler hndlr, Priority priority)
@@ -115,7 +115,7 @@ namespace GLib {
 			return p.ID;
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_source_remove (uint id);
                                                                                 
 		public static void Remove (uint id)
diff --git a/glib/InitiallyUnowned.cs b/glib/InitiallyUnowned.cs
index 303d07f..ea1a0b2 100644
--- a/glib/InitiallyUnowned.cs
+++ b/glib/InitiallyUnowned.cs
@@ -33,7 +33,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		private static extern void g_object_ref_sink (IntPtr raw);
 
 		protected override IntPtr Raw {
@@ -47,13 +47,13 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_object_is_floating (IntPtr raw);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_force_floating (IntPtr raw);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_unref (IntPtr raw);
 
 		public bool IsFloating {
diff --git a/glib/KeyFile.cs b/glib/KeyFile.cs
index 2df3799..7f5018c 100644
--- a/glib/KeyFile.cs
+++ b/glib/KeyFile.cs
@@ -43,8 +43,6 @@ namespace GLib {
 
 	public class KeyFile {
 
-		const string dll = "libglib-2.0-0.dll";
-
 		IntPtr handle;
 		bool owned;
 
@@ -533,131 +531,132 @@ namespace GLib {
 		public byte[] ToData ()
 		{
 			UIntPtr native_length;
-			IntPtr raw_ret = g_key_file_to_data(Handle, out native_length, IntPtr.Zero);
-			byte[] ret = new byte [(int) native_length];
-			Marshal.Copy (raw_ret, ret, 0, (int) native_length);
+			IntPtr raw_ret = g_key_file_to_data (Handle, out native_length, IntPtr.Zero);
+			int length = (int)native_length;
+			byte[] ret = new byte [length];
+			Marshal.Copy (raw_ret, ret, 0, length);
 			Marshaller.Free (raw_ret);
 			return ret;
 		}
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_free (IntPtr raw);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_get_boolean (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_boolean_list (IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_comment (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern double g_key_file_get_double (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_double_list (IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_groups (IntPtr raw, IntPtr dummy);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern int g_key_file_get_integer (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_integer_list (IntPtr raw, IntPtr group_name, IntPtr key, out UIntPtr length, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_keys (IntPtr raw, IntPtr group_name, IntPtr dummy, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_locale_string (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_locale_string_list (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, IntPtr dummy, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_start_group (IntPtr raw);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_string (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_string_list (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr dummy, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_get_value (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_has_group (IntPtr raw, IntPtr group_name);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_has_key (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_load_from_data (IntPtr raw, byte[] data, UIntPtr length, int flags, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_load_from_data_dirs (IntPtr raw, IntPtr file, out IntPtr full_path, int flags, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_load_from_dirs (IntPtr raw, IntPtr file, IntPtr search_dirs, out IntPtr full_path, int flags, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_load_from_file (IntPtr raw, IntPtr file, int flags, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_new ();
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_remove_comment (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_remove_group (IntPtr raw, IntPtr group_name, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_remove_key (IntPtr raw, IntPtr group_name, IntPtr key, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_boolean (IntPtr raw, IntPtr group_name, IntPtr key, bool value);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_boolean_list (IntPtr raw, IntPtr group_name, IntPtr key, bool[] list, UIntPtr n_list);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_key_file_set_comment (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr comment, out IntPtr error);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_double (IntPtr raw, IntPtr group_name, IntPtr key, double value);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_double_list (IntPtr raw, IntPtr group_name, IntPtr key, double[] list, UIntPtr n_list);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_integer (IntPtr raw, IntPtr group_name, IntPtr key, int value);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_integer_list (IntPtr raw, IntPtr group_name, IntPtr key, int[] list, UIntPtr n_list);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_list_separator (IntPtr raw, byte separator);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_locale_string (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, IntPtr value);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_locale_string_list (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr locale, IntPtr list, UIntPtr length);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_string (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr value);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_string_list (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr list, UIntPtr n_list);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern void g_key_file_set_value (IntPtr raw, IntPtr group_name, IntPtr key, IntPtr value);
 
-		[DllImport (dll)]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_key_file_to_data (IntPtr raw, out UIntPtr length, IntPtr dummy);
 
 	}
diff --git a/glib/List.cs b/glib/List.cs
index ed2de61..12fbee6 100644
--- a/glib/List.cs
+++ b/glib/List.cs
@@ -26,7 +26,7 @@ namespace GLib {
 
 	public class List : ListBase {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_list_copy (IntPtr l);
 		
 		public override object Clone ()
@@ -34,7 +34,7 @@ namespace GLib {
 			return new List (g_list_copy (Handle));
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_list_length (IntPtr l);
 		
 		internal override int Length (IntPtr list)
@@ -42,7 +42,7 @@ namespace GLib {
 			return g_list_length (list);
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_list_free(IntPtr l);
 
 		internal override void Free (IntPtr list)
@@ -51,7 +51,7 @@ namespace GLib {
 				g_list_free (list);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_list_append (IntPtr l, IntPtr raw);
 
 		internal override IntPtr Append (IntPtr list, IntPtr raw)
@@ -59,7 +59,7 @@ namespace GLib {
 			return g_list_append (list, raw);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_list_prepend (IntPtr l, IntPtr raw);
 
 		internal override IntPtr Prepend (IntPtr list, IntPtr raw)
@@ -67,7 +67,7 @@ namespace GLib {
 			return g_list_prepend (list, raw);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 	        static extern IntPtr g_list_nth_data (IntPtr l, uint n);
 
 		internal override IntPtr NthData (uint n)
diff --git a/glib/ListBase.cs b/glib/ListBase.cs
index 5f1d63f..15816a1 100644
--- a/glib/ListBase.cs
+++ b/glib/ListBase.cs
@@ -190,10 +190,7 @@ namespace GLib {
 			return fullname + "Adapter";
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr item);
-
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_unref (IntPtr item);
 
 		public void Empty ()
@@ -205,7 +202,7 @@ namespace GLib {
 					} else if (typeof (GLib.IWrapper).IsAssignableFrom (element_type)) {
 						g_object_unref (NthData (i));
 					} else {
-						g_free (NthData (i));
+						Marshaller.Free (NthData (i));
 					}
 				}
 			}
diff --git a/glib/Log.cs b/glib/Log.cs
index 8464e56..bd17e17 100644
--- a/glib/Log.cs
+++ b/glib/Log.cs
@@ -123,7 +123,7 @@ namespace GLib {
 				handlers = new System.Collections.Generic.Dictionary<uint, GCHandle> ();
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_logv (IntPtr log_domain, LogLevelFlags flags, IntPtr message);
 		
 		public void WriteLog (string logDomain, LogLevelFlags flags, string format, params object [] args)
@@ -135,7 +135,7 @@ namespace GLib {
 			Marshaller.Free (nmessage);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_log_set_handler (IntPtr log_domain, LogLevelFlags flags, LogFuncNative log_func, IntPtr user_data);
 		
 		public static uint SetLogHandler (string logDomain, LogLevelFlags flags, LogFunc logFunc)
@@ -152,7 +152,7 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_log_remove_handler (IntPtr log_domain, uint handler_id);
 
 		public static void RemoveLogHandler (string logDomain, uint handlerID)
@@ -167,7 +167,7 @@ namespace GLib {
 			Marshaller.Free (ndom);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern PrintFuncNative g_set_print_handler (PrintFuncNative handler);
 
 		public static PrintFunc SetPrintHandler (PrintFunc handler)
@@ -178,7 +178,7 @@ namespace GLib {
 			return helper.Invoker;
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern PrintFuncNative g_set_printerr_handler (PrintFuncNative handler);
 
 		public static PrintFunc SetPrintErrorHandler (PrintFunc handler)
@@ -189,7 +189,7 @@ namespace GLib {
 			return helper.Invoker;
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_log_default_handler (IntPtr log_domain, LogLevelFlags log_level, IntPtr message, IntPtr unused_data);
 
 		public static void DefaultHandler (string logDomain, LogLevelFlags logLevel, string message)
@@ -202,7 +202,7 @@ namespace GLib {
 			Marshaller.Free (nmess);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		extern static LogLevelFlags g_log_set_always_fatal (LogLevelFlags fatal_mask);
 		
 		public static LogLevelFlags SetAlwaysFatal (LogLevelFlags fatalMask)
@@ -210,7 +210,7 @@ namespace GLib {
 			return g_log_set_always_fatal (fatalMask);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		extern static LogLevelFlags g_log_set_fatal_mask (IntPtr log_domain, LogLevelFlags fatal_mask);
 		
 		public static LogLevelFlags SetAlwaysFatal (string logDomain, LogLevelFlags fatalMask)
@@ -244,7 +244,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		extern static LogFuncNative g_log_set_default_handler (LogFuncNative log_func, IntPtr user_data);
 		
 		public static LogFunc SetDefaultHandler (LogFunc log_func)
diff --git a/glib/MainContext.cs b/glib/MainContext.cs
index e46fa78..a187ff7 100644
--- a/glib/MainContext.cs
+++ b/glib/MainContext.cs
@@ -27,7 +27,7 @@ namespace GLib {
         public class MainContext {
 		IntPtr handle;
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_main_context_new ();
 
 		public MainContext ()
@@ -35,22 +35,22 @@ namespace GLib {
 			handle = g_main_context_new ();
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_context_ref (IntPtr raw);
 
-		internal MainContext (IntPtr raw)
+		public MainContext (IntPtr raw)
 		{
 			handle = raw;
 			g_main_context_ref (handle);
 		}
 
-		internal IntPtr Handle {
+		public IntPtr Handle {
 			get {
 				return handle;
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_context_unref (IntPtr raw);
 
 		~MainContext ()
@@ -59,7 +59,7 @@ namespace GLib {
 			handle = IntPtr.Zero;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_main_context_default ();
 
 		public static MainContext Default {
@@ -68,7 +68,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_main_context_thread_default ();
 
 		public MainContext ThreadDefault {
@@ -79,7 +79,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_context_push_thread_default (IntPtr raw);
 
 		public void PushThreadDefault ()
@@ -87,7 +87,7 @@ namespace GLib {
 			g_main_context_push_thread_default (handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_context_pop_thread_default (IntPtr raw);
 
 		public void PopThreadDefault ()
@@ -96,7 +96,7 @@ namespace GLib {
 		}
 
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_main_context_iteration (IntPtr raw, bool may_block);
 
 		public bool RunIteration (bool may_block)
@@ -109,7 +109,7 @@ namespace GLib {
 			return RunIteration (false);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_main_context_pending (IntPtr raw);
 
 		public bool HasPendingEvents
@@ -119,7 +119,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_context_wakeup (IntPtr raw);
 
 		public void Wakeup ()
@@ -142,7 +142,7 @@ namespace GLib {
 		}
 
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_main_depth ();
 		public static int Depth {
 			get { return g_main_depth (); }
diff --git a/glib/MainLoop.cs b/glib/MainLoop.cs
index 62eaadb..9ea366a 100644
--- a/glib/MainLoop.cs
+++ b/glib/MainLoop.cs
@@ -25,7 +25,7 @@ namespace GLib {
 	public class MainLoop {
 		private IntPtr handle;
 	
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_main_loop_new (IntPtr context, bool isRunning);
 
 		public MainLoop () : this (MainContext.Default) { }
@@ -37,7 +37,7 @@ namespace GLib {
 			handle = g_main_loop_new (context.Handle, is_running);
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_loop_unref (IntPtr loop);
 
 		~MainLoop ()
@@ -46,7 +46,7 @@ namespace GLib {
 			handle = IntPtr.Zero;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_main_loop_is_running (IntPtr loop);
 
 		public bool IsRunning {
@@ -55,7 +55,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_loop_run (IntPtr loop);
 
 		public void Run ()
@@ -63,7 +63,7 @@ namespace GLib {
 			g_main_loop_run (handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_main_loop_quit (IntPtr loop);
 
 		public void Quit ()
@@ -71,7 +71,7 @@ namespace GLib {
 			g_main_loop_quit (handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_main_loop_get_context (IntPtr loop);
 
 		public MainContext Context {
diff --git a/glib/Makefile.am b/glib/Makefile.am
index b23c11a..aedada6 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -19,9 +19,19 @@ POLICY_CONFIGS = $(addsuffix .config, $(addprefix policy., $(POLICY_VERSIONS)))
 
 references = 
 
+# TODO: auto-generate at compile time the following classes:
+#  Cond, Date, DateTime, Mutex, PollFD, RecMutex, (half)Source,
+#  SourceCallbackFuncs, SourceDummyMarshal, SourceFunc,
+#  SourceFuncNative, SourceFuncs, TimeVal, TimeZone
+# (to do that, we need to fill missing pieces in glib's
+#  gobject-introspection metadata upstream)
+
 sources =		 			\
 	Argv.cs					\
 	ConnectBeforeAttribute.cs		\
+	Cond.cs					\
+	Date.cs					\
+	DateTime.cs				\
 	DefaultSignalHandlerAttribute.cs	\
 	DestroyNotify.cs			\
 	ExceptionManager.cs			\
@@ -48,23 +58,34 @@ sources =		 			\
 	Markup.cs				\
 	Marshaller.cs				\
 	MissingIntPtrCtorException.cs		\
+	Mutex.cs				\
 	NotifyHandler.cs			\
 	Object.cs				\
 	ObjectManager.cs			\
 	Opaque.cs				\
 	ParamSpec.cs				\
+	PollFD.cs				\
 	Priority.cs				\
 	PropertyAttribute.cs			\
 	PtrArray.cs				\
+	RecMutex.cs				\
 	Signal.cs				\
 	SignalArgs.cs				\
 	SignalAttribute.cs			\
 	SignalClosure.cs			\
 	SList.cs				\
 	Source.cs				\
+	SourceFunc.cs				\
+	SourceFuncs.cs				\
+	SourceDummyMarshal.cs			\
+	GLibSharp.SourceFuncNative.cs		\
+	GLibSharp.SourceDummyMarshalNative.cs	\
+	SourceCallbackFuncs.cs			\
 	Spawn.cs				\
 	Thread.cs				\
 	Timeout.cs				\
+	TimeVal.cs				\
+	TimeZone.cs				\
 	ToggleRef.cs				\
 	TypeFundamentals.cs			\
 	TypeInitializerAttribute.cs		\
diff --git a/glib/Makefile.in b/glib/Makefile.in
index a0e16d8..15a7f78 100644
--- a/glib/Makefile.in
+++ b/glib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -368,9 +368,19 @@ DISTCLEANFILES = $(ASSEMBLY).config
 POLICY_ASSEMBLIES = $(addsuffix .$(ASSEMBLY), $(addprefix policy., $(POLICY_VERSIONS)))
 POLICY_CONFIGS = $(addsuffix .config, $(addprefix policy., $(POLICY_VERSIONS)))
 references = 
+
+# TODO: auto-generate at compile time the following classes:
+#  Cond, Date, DateTime, Mutex, PollFD, RecMutex, (half)Source,
+#  SourceCallbackFuncs, SourceDummyMarshal, SourceFunc,
+#  SourceFuncNative, SourceFuncs, TimeVal, TimeZone
+# (to do that, we need to fill missing pieces in glib's
+#  gobject-introspection metadata upstream)
 sources = \
 	Argv.cs					\
 	ConnectBeforeAttribute.cs		\
+	Cond.cs					\
+	Date.cs					\
+	DateTime.cs				\
 	DefaultSignalHandlerAttribute.cs	\
 	DestroyNotify.cs			\
 	ExceptionManager.cs			\
@@ -397,23 +407,34 @@ sources = \
 	Markup.cs				\
 	Marshaller.cs				\
 	MissingIntPtrCtorException.cs		\
+	Mutex.cs				\
 	NotifyHandler.cs			\
 	Object.cs				\
 	ObjectManager.cs			\
 	Opaque.cs				\
 	ParamSpec.cs				\
+	PollFD.cs				\
 	Priority.cs				\
 	PropertyAttribute.cs			\
 	PtrArray.cs				\
+	RecMutex.cs				\
 	Signal.cs				\
 	SignalArgs.cs				\
 	SignalAttribute.cs			\
 	SignalClosure.cs			\
 	SList.cs				\
 	Source.cs				\
+	SourceFunc.cs				\
+	SourceFuncs.cs				\
+	SourceDummyMarshal.cs			\
+	GLibSharp.SourceFuncNative.cs		\
+	GLibSharp.SourceDummyMarshalNative.cs	\
+	SourceCallbackFuncs.cs			\
 	Spawn.cs				\
 	Thread.cs				\
 	Timeout.cs				\
+	TimeVal.cs				\
+	TimeZone.cs				\
 	ToggleRef.cs				\
 	TypeFundamentals.cs			\
 	TypeInitializerAttribute.cs		\
diff --git a/glib/ManagedValue.cs b/glib/ManagedValue.cs
index 5d0c643..266a7b5 100644
--- a/glib/ManagedValue.cs
+++ b/glib/ManagedValue.cs
@@ -66,7 +66,7 @@ namespace GLib {
 		static FreeFunc free;
 		static GType boxed_type = GType.Invalid;
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_boxed_type_register_static (IntPtr typename, CopyFunc copy_func, FreeFunc free_func);
 		
 		public static GType GType {
diff --git a/glib/Markup.cs b/glib/Markup.cs
index e26db79..7a06fdf 100644
--- a/glib/Markup.cs
+++ b/glib/Markup.cs
@@ -29,7 +29,7 @@ namespace GLib {
 	public class Markup {
 		private Markup () {}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_markup_escape_text (IntPtr text, int len);
 		
 		static public string EscapeText (string s)
diff --git a/glib/Marshaller.cs b/glib/Marshaller.cs
index d28d57e..1e1f532 100644
--- a/glib/Marshaller.cs
+++ b/glib/Marshaller.cs
@@ -30,7 +30,7 @@ namespace GLib {
 
 		private Marshaller () {}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_free (IntPtr mem);
 
 		public static void Free (IntPtr ptr)
@@ -47,10 +47,10 @@ namespace GLib {
 				g_free (ptrs [i]);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_filename_to_utf8 (IntPtr mem, int len, IntPtr read, out IntPtr written, out IntPtr error);
 
-		[DllImport("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_filename_to_utf8_utf8 (IntPtr mem, int len, IntPtr read, out IntPtr written, out IntPtr error);
 
 		public static string FilenamePtrToString (IntPtr ptr) 
@@ -124,10 +124,10 @@ namespace GLib {
 			return ret;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_filename_from_utf8 (IntPtr mem, int len, IntPtr read, out IntPtr written, out IntPtr error);
 
-		[DllImport("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern IntPtr g_filename_from_utf8_utf8 (IntPtr mem, int len, IntPtr read, out IntPtr written, out IntPtr error);
 
 		public static IntPtr StringToFilenamePtr (string str) 
@@ -170,7 +170,7 @@ namespace GLib {
 				return ret.Replace ("%", "%%");
 		}
 
-		internal static IntPtr StringArrayToStrvPtr (string[] strs)
+		public static IntPtr StringArrayToStrvPtr (string[] strs)
 		{
 			IntPtr[] ptrs = StringArrayToNullTermPointer (strs);
 			IntPtr ret = g_malloc (new UIntPtr ((ulong) (ptrs.Length * IntPtr.Size)));
@@ -178,6 +178,11 @@ namespace GLib {
 			return ret;
 		}
 
+		public static IntPtr StringArrayToNullTermStrvPointer (string[] strs)
+		{
+			return StringArrayToStrvPtr (strs);
+		}
+
 		public static IntPtr[] StringArrayToNullTermPointer (string[] strs)
 		{
 			if (strs == null)
@@ -189,7 +194,7 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_strfreev (IntPtr mem);
 
 		public static void StrFreeV (IntPtr null_term_array)
@@ -228,22 +233,13 @@ namespace GLib {
 			string[] members = new string[count];
 			for (int i = 0; i < count; ++i) {
 				IntPtr s = Marshal.ReadIntPtr (string_array, i * IntPtr.Size);
-				members[i] = GLib.Marshaller.PtrToStringGFree (s);
+				members[i] = PtrToStringGFree (s);
 			}
-			GLib.Marshaller.Free (string_array);
+			Free (string_array);
 			return members;
 		}
 
-		// Argv marshalling -- unpleasantly complex, but
-		// don't know of a better way to do it.
-		//
-		// Currently, the 64-bit cleanliness is
-		// hypothetical. It's also ugly, but I don't know of a
-		// construct to handle both 32 and 64 bitness
-		// transparently, since we need to alloc buffers of
-		// [native pointer size] * [count] bytes.
-
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_malloc(UIntPtr size);
 
 		public static IntPtr Malloc (ulong size)
@@ -251,115 +247,23 @@ namespace GLib {
 			return g_malloc (new UIntPtr (size));
 		}
 
-		static bool check_sixtyfour () {
-			int szint = Marshal.SizeOf (typeof (int));
-			int szlong = Marshal.SizeOf (typeof (long));
-			int szptr = IntPtr.Size;
-
-			if (szptr == szint)
-				return false;
-			if (szptr == szlong)
-				return true;
-
-			throw new Exception ("Pointers are neither int- nor long-sized???");
-		}
-
-		static IntPtr make_buf_32 (string[] args) 
-		{
-			int[] ptrs = new int[args.Length];
-
-			for (int i = 0; i < args.Length; i++)
-				ptrs[i] = (int) Marshal.StringToHGlobalAuto (args[i]);
-
-			IntPtr buf = g_malloc (new UIntPtr ((ulong) Marshal.SizeOf(typeof(int)) * 
-					       (ulong) args.Length));
-			Marshal.Copy (ptrs, 0, buf, ptrs.Length);
-			return buf;
-		}
-
-		static IntPtr make_buf_64 (string[] args) 
-		{
-			long[] ptrs = new long[args.Length];
-
-			for (int i = 0; i < args.Length; i++)
-				ptrs[i] = (long) Marshal.StringToHGlobalAuto (args[i]);
-				
-			IntPtr buf = g_malloc (new UIntPtr ((ulong) Marshal.SizeOf(typeof(long)) * 
-					       (ulong) args.Length));
-			Marshal.Copy (ptrs, 0, buf, ptrs.Length);
-			return buf;
-		}
-
-		[Obsolete ("Use GLib.Argv instead to avoid leaks.")]
-		public static IntPtr ArgvToArrayPtr (string[] args)
-		{
-			if (args.Length == 0)
-				return IntPtr.Zero;
-
-			if (check_sixtyfour ())
-				return make_buf_64 (args);
-
-			return make_buf_32 (args);
-		}
-
-		// should we be freeing these pointers? they're marshalled
-		// from our own strings, so I think not ...
-
-		static string[] unmarshal_32 (IntPtr buf, int argc)
-		{
-			int[] ptrs = new int[argc];
-			string[] args = new string[argc];
-
-			Marshal.Copy (buf, ptrs, 0, argc);
-
-			for (int i = 0; i < ptrs.Length; i++)
-				args[i] = Marshal.PtrToStringAuto ((IntPtr) ptrs[i]);
-			
-			return args;
-		}
-
-		static string[] unmarshal_64 (IntPtr buf, int argc)
-		{
-			long[] ptrs = new long[argc];
-			string[] args = new string[argc];
-
-			Marshal.Copy (buf, ptrs, 0, argc);
-
-			for (int i = 0; i < ptrs.Length; i++)
-				args[i] = Marshal.PtrToStringAuto ((IntPtr) ptrs[i]);
-			
-			return args;
-		}		
-
-		[Obsolete ("Use GLib.Argv instead to avoid leaks.")]
-		public static string[] ArrayPtrToArgv (IntPtr array, int argc)
-		{
-			if (argc == 0)
-				return new string[0];
-
-			if (check_sixtyfour ())
-				return unmarshal_64 (array, argc);
-
-			return unmarshal_32 (array, argc);
-		}
-
-		static DateTime local_epoch = new DateTime (1970, 1, 1, 0, 0, 0);
-		static int utc_offset = (int) (TimeZone.CurrentTimeZone.GetUtcOffset (DateTime.Now)).TotalSeconds;
+		static System.DateTime local_epoch = new System.DateTime (1970, 1, 1, 0, 0, 0);
+		static int utc_offset = (int) (System.TimeZone.CurrentTimeZone.GetUtcOffset (System.DateTime.Now)).TotalSeconds;
 
-		public static IntPtr DateTimeTotime_t (DateTime time)
+		public static IntPtr DateTimeTotime_t (System.DateTime time)
 		{
 			return new IntPtr (((long)time.Subtract (local_epoch).TotalSeconds) - utc_offset);
 		}
 
-		public static DateTime time_tToDateTime (IntPtr time_t)
+		public static System.DateTime time_tToDateTime (IntPtr time_t)
 		{
 			return local_epoch.AddSeconds (time_t.ToInt64 () + utc_offset);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_malloc0 (UIntPtr size);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_unichar_to_utf8 (uint c, IntPtr buf);
 
 		public static char GUnicharToChar (uint ucs4_char)
@@ -384,7 +288,7 @@ namespace GLib {
 			return PtrToStringGFree (buf);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_utf16_to_ucs4 (ref ushort c, IntPtr len, IntPtr d1, IntPtr d2, IntPtr d3);
 
 		public static uint CharToGUnichar (char c)
@@ -458,6 +362,39 @@ namespace GLib {
 
 			return result;
 		}
+
+		public static T[] StructArrayFromNullTerminatedIntPtr<T> (IntPtr array)
+		{
+			var res = new List<T> ();
+			IntPtr current = array;
+			T currentStruct = default(T);
+
+			while (current != IntPtr.Zero) {
+				Marshal.PtrToStructure (current, currentStruct);
+				res.Add (currentStruct);
+				current = (IntPtr) ((long)current + Marshal.SizeOf (typeof (T)));
+			}
+
+			return res.ToArray ();
+		}
+
+		public static IntPtr StructArrayToNullTerminatedStructArrayIntPtr<T> (T[] InputArray)
+		{
+			int intPtrSize = Marshal.SizeOf (typeof (IntPtr));
+			IntPtr mem = Marshal.AllocHGlobal ((InputArray.Length + 1) * intPtrSize);
+
+			for (int i = 0; i < InputArray.Length; i++) {
+				IntPtr structPtr = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (T)));
+				Marshal.StructureToPtr (InputArray[i], structPtr, false);
+				// jump to next pointer
+				Marshal.WriteIntPtr (mem, structPtr);
+				mem = (IntPtr) ((long)mem + intPtrSize);
+			}
+			// null terminate
+			Marshal.WriteIntPtr (mem, IntPtr.Zero);
+
+			return mem;
+		}
 	}
 }
 
diff --git a/glib/Mutex.cs b/glib/Mutex.cs
new file mode 100644
index 0000000..e91039e
--- /dev/null
+++ b/glib/Mutex.cs
@@ -0,0 +1,55 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public partial class Mutex : GLib.Opaque {
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_mutex_clear(IntPtr raw);
+
+		public void Clear() {
+			g_mutex_clear(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_mutex_init(IntPtr raw);
+
+		public void Init() {
+			g_mutex_init(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_mutex_lock(IntPtr raw);
+
+		public void Lock() {
+			g_mutex_lock(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_mutex_trylock(IntPtr raw);
+
+		public bool Trylock() {
+			bool raw_ret = g_mutex_trylock(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_mutex_unlock(IntPtr raw);
+
+		public void Unlock() {
+			g_mutex_unlock(Handle);
+		}
+
+		public Mutex(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/glib/NotifyHandler.cs b/glib/NotifyHandler.cs
index 28b24f8..40504d5 100644
--- a/glib/NotifyHandler.cs
+++ b/glib/NotifyHandler.cs
@@ -22,7 +22,7 @@ namespace GLib {
 	public delegate void NotifyHandler (object o, NotifyArgs args);
 
 	public class NotifyArgs : GLib.SignalArgs {
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_get_name (IntPtr pspec);
 
 		public string Property {
diff --git a/glib/Object.cs b/glib/Object.cs
index 45d9657..df0ce8f 100644
--- a/glib/Object.cs
+++ b/glib/Object.cs
@@ -76,10 +76,10 @@ namespace GLib {
 
 		public static bool WarnOnFinalize { get; set; }
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_ref (IntPtr raw);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_unref (IntPtr raw);
 		
 		public static Object TryGetObject (IntPtr o)
@@ -206,7 +206,6 @@ namespace GLib {
 				AddGInterfaces ();
 				gtype.EnsureClass (); //calls class_init
 
-				AddProperties ();
 				ConnectDefaultHandlers ();
 				InvokeTypeInitializers ();
 				AddInterfaceProperties ();
@@ -225,7 +224,7 @@ namespace GLib {
 					if (!iface.IsAssignableFrom (Type.BaseType)) {
 						GInterfaceInfo info = adapter.Info;
 						info.Data = gtype.Val;
-						g_type_add_interface_static (gtype.Val, adapter.GType.Val, ref info);
+						g_type_add_interface_static (gtype.Val, adapter.GInterfaceGType.Val, ref info);
 						adapters.Add (adapter);
 					}
 				}
@@ -242,6 +241,8 @@ namespace GLib {
 				foreach (GInterfaceAdapter adapter in adapters) {
 					InitializeProperties (adapter, gobject_class_handle);
 				}
+
+				AddProperties (gobject_class_handle);
 			}
 
 			private void InitializeProperties (GInterfaceAdapter adapter, IntPtr gobject_class_handle)
@@ -288,12 +289,11 @@ namespace GLib {
 				HandlersOverriden = true;
 			}
 
-			void AddProperties ()
+			void AddProperties (IntPtr gobject_class_handle)
 			{
 				if (is_first_subclass) {
-					IntPtr declaring_class = gtype.GetClassPtr ();
 					ParamSpec pspec = new ParamSpec ("gtk-sharp-managed-instance", "", "", GType.Pointer, ParamFlags.Writable | ParamFlags.ConstructOnly);
-					g_object_class_install_property (declaring_class, idx, pspec.Handle);
+					g_object_class_install_property (gobject_class_handle, idx, pspec.Handle);
 					idx++;
 				}
 
@@ -341,7 +341,7 @@ namespace GLib {
 						PropertyInfo declared_prop = Type.GetProperty (p.Name, BindingFlags.Public | BindingFlags.Instance);
 						if (declared_prop == null)
 							continue;
-						IntPtr param_spec = FindInterfaceProperty (adapter.GType, property_attr.Name);
+						IntPtr param_spec = FindInterfaceProperty (adapter.GInterfaceGType, property_attr.Name);
 
 						Dictionary<IntPtr, PropertyInfo> props;
 						if (!Properties.TryGetValue (Type, out props)) {
@@ -398,7 +398,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_get_name (IntPtr pspec);
 
 		static IntPtr ConstructorCallback (IntPtr gtypeval, uint n_construct_properties, IntPtr construct_properties)
@@ -430,7 +430,7 @@ namespace GLib {
 			return raw;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_class_override_property (IntPtr klass, uint prop_id, IntPtr name);
 
 		public static void OverrideProperty (IntPtr oclass, uint property_id, string name)
@@ -446,17 +446,17 @@ namespace GLib {
 			idx++;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_class_find_property (IntPtr klass, IntPtr name);
 
-		static IntPtr FindClassProperty (GType type, string name)
+		static IntPtr FindClassProperty (GLib.Object o, string name)
 		{
-			IntPtr g_iface = type.GetDefaultInterfacePtr ();
+			IntPtr gobjectclass = Marshal.ReadIntPtr (o.Handle);
 			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
-			return g_object_class_find_property (g_iface, native_name);
+			return g_object_class_find_property (gobjectclass, native_name);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_interface_find_property (IntPtr klass, IntPtr name);
 
 		static IntPtr FindInterfaceProperty (GType type, string name)
@@ -466,7 +466,7 @@ namespace GLib {
 			return g_object_interface_find_property (g_iface, native_name);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_class_install_property (IntPtr klass, uint prop_id, IntPtr param_spec);
 
 		static IntPtr RegisterProperty (GType type, string name, string nick, string blurb, uint property_id, GType property_type, bool can_read, bool can_write)
@@ -544,7 +544,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_type_add_interface_static (IntPtr gtype, IntPtr iface_type, ref GInterfaceInfo info);
 
 		protected internal static GType RegisterGType (System.Type t)
@@ -582,7 +582,7 @@ namespace GLib {
 			CreateNativeObject (new string [0], new GLib.Value [0]);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_new (IntPtr gtype, IntPtr dummy);
 
 		struct GParameter {
@@ -590,7 +590,7 @@ namespace GLib {
 			public GLib.Value val;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_newv (IntPtr gtype, int n_params, GParameter[] parms);
 
 		protected virtual void CreateNativeObject (string[] names, GLib.Value[] vals)
@@ -702,7 +702,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_get_property (IntPtr obj, IntPtr name, ref GLib.Value val);
 
 		protected GLib.Value GetProperty (string name)
@@ -714,7 +714,7 @@ namespace GLib {
 			return val;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_set_property (IntPtr obj, IntPtr name, ref GLib.Value val);
 
 		protected void SetProperty (string name, GLib.Value val)
@@ -724,7 +724,7 @@ namespace GLib {
 			GLib.Marshaller.Free (native_name);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_notify (IntPtr obj, IntPtr property_name);
 
 		protected void Notify (string property_name)
@@ -785,10 +785,10 @@ namespace GLib {
 			Signal.OverrideDefaultHandler (gtype, name, cb);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		protected static extern void g_signal_chain_from_overridden (IntPtr args, ref GLib.Value retval);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_type_check_instance_is_a (IntPtr obj, IntPtr gtype);
 
 		internal static bool IsObject (IntPtr obj)
diff --git a/glib/ObjectManager.cs b/glib/ObjectManager.cs
index b55ea31..7334a23 100644
--- a/glib/ObjectManager.cs
+++ b/glib/ObjectManager.cs
@@ -83,7 +83,7 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_type_parent (IntPtr typ);
 	}
 }
diff --git a/glib/ParamSpec.cs b/glib/ParamSpec.cs
index f75e99d..11aa275 100644
--- a/glib/ParamSpec.cs
+++ b/glib/ParamSpec.cs
@@ -143,61 +143,61 @@ namespace GLib {
 			public uint param_id;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_char (IntPtr name, IntPtr nick, IntPtr blurb, sbyte min, sbyte max, sbyte dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_uchar (IntPtr name, IntPtr nick, IntPtr blurb, byte min, byte max, byte dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_boolean (IntPtr name, IntPtr nick, IntPtr blurb, bool dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_enum (IntPtr name, IntPtr nick, IntPtr blurb, IntPtr enum_type, int dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_int (IntPtr name, IntPtr nick, IntPtr blurb, int min, int max, int dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_uint (IntPtr name, IntPtr nick, IntPtr blurb, uint min, uint max, uint dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_long (IntPtr name, IntPtr nick, IntPtr blurb, IntPtr min, IntPtr max, IntPtr dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_ulong (IntPtr name, IntPtr nick, IntPtr blurb, UIntPtr min, UIntPtr max, UIntPtr dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_int64 (IntPtr name, IntPtr nick, IntPtr blurb, long min, long max, long dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_uint64 (IntPtr name, IntPtr nick, IntPtr blurb, ulong min, ulong max, ulong dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_float (IntPtr name, IntPtr nick, IntPtr blurb, float min, float max, float dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_double (IntPtr name, IntPtr nick, IntPtr blurb, double min, double max, double dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_string (IntPtr name, IntPtr nick, IntPtr blurb, IntPtr dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_pointer (IntPtr name, IntPtr nick, IntPtr blurb, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_gtype (IntPtr name, IntPtr nick, IntPtr blurb, IntPtr dval, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_boxed (IntPtr name, IntPtr nick, IntPtr blurb, IntPtr return_type, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_param_spec_object (IntPtr name, IntPtr nick, IntPtr blurb, IntPtr return_type, int flags);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_gtype_get_type ();
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_type_is_a (IntPtr a, IntPtr b);
 
 	}
diff --git a/glib/PollFD.cs b/glib/PollFD.cs
new file mode 100644
index 0000000..cb3e10c
--- /dev/null
+++ b/glib/PollFD.cs
@@ -0,0 +1,67 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public partial struct PollFD : IEquatable<PollFD> {
+
+		public int Fd;
+		public ushort Events;
+		public ushort Revents;
+
+		public static GLib.PollFD Zero = new GLib.PollFD ();
+
+		public static GLib.PollFD New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.PollFD.Zero;
+			return (GLib.PollFD) Marshal.PtrToStructure (raw, typeof (GLib.PollFD));
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_pollfd_get_type();
+
+		public static GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_pollfd_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		public bool Equals (PollFD other)
+		{
+			return true && Fd.Equals (other.Fd) && Events.Equals (other.Events) && Revents.Equals (other.Revents);
+		}
+
+		public override bool Equals (object other)
+		{
+			return other is PollFD && Equals ((PollFD) other);
+		}
+
+		public override int GetHashCode ()
+		{
+			return this.GetType().FullName.GetHashCode() ^ Fd.GetHashCode () ^ Events.GetHashCode () ^ Revents.GetHashCode ();
+		}
+
+		public static explicit operator GLib.Value (GLib.PollFD boxed)
+		{
+			GLib.Value val = GLib.Value.Empty;
+			val.Init (GLib.PollFD.GType);
+			val.Val = boxed;
+			return val;
+		}
+
+		public static explicit operator GLib.PollFD (GLib.Value val)
+		{
+			return (GLib.PollFD) val.Val;
+		}
+#endregion
+	}
+}
diff --git a/glib/PtrArray.cs b/glib/PtrArray.cs
index 63efac3..d6a4336 100644
--- a/glib/PtrArray.cs
+++ b/glib/PtrArray.cs
@@ -32,7 +32,7 @@ namespace GLib {
 		internal bool elements_owned = false;
 		protected System.Type element_type = null;
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_ptr_array_sized_new (uint n_preallocs);
 
 		public PtrArray (uint n_preallocs, System.Type element_type, bool owned, bool elements_owned)
@@ -43,7 +43,7 @@ namespace GLib {
 			this.elements_owned = elements_owned;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_ptr_array_new ();
 
 		public PtrArray (System.Type element_type, bool owned, bool elements_owned)
@@ -77,15 +77,12 @@ namespace GLib {
 			GC.SuppressFinalize (this);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_ptr_array_free (IntPtr raw, bool free_seg);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_unref (IntPtr item);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr item);
-
 		void Dispose (bool disposing)
 		{
 			if (Handle == IntPtr.Zero)
@@ -99,7 +96,7 @@ namespace GLib {
 					else if (typeof (GLib.Opaque).IsAssignableFrom (element_type))
 						GLib.Opaque.GetOpaque (NthData (i), element_type, true).Dispose ();
 					else 
-						g_free (NthData (i));
+						Marshaller.Free (NthData (i));
 			}
 
 			if (managed)
@@ -120,7 +117,7 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_ptr_array_add (IntPtr raw, IntPtr val);
 
 		public void Add (IntPtr val)
@@ -128,7 +125,7 @@ namespace GLib {
 			g_ptr_array_add (Handle, val);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_ptr_array_remove (IntPtr raw, IntPtr data);
 
 		public void Remove (IntPtr data)
@@ -136,7 +133,7 @@ namespace GLib {
 			g_ptr_array_remove (Handle, data);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_ptr_array_remove_range (IntPtr raw, uint index, uint length);
 
 		public void RemoveRange (IntPtr data, uint index, uint length)
@@ -260,7 +257,7 @@ namespace GLib {
 			return new ListEnumerator (this);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_ptr_array_copy (IntPtr raw);
 
 		// ICloneable
diff --git a/glib/RecMutex.cs b/glib/RecMutex.cs
new file mode 100644
index 0000000..e71cf40
--- /dev/null
+++ b/glib/RecMutex.cs
@@ -0,0 +1,55 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public partial class RecMutex : GLib.Opaque {
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_rec_mutex_clear(IntPtr raw);
+
+		public void Clear() {
+			g_rec_mutex_clear(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_rec_mutex_init(IntPtr raw);
+
+		public void Init() {
+			g_rec_mutex_init(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_rec_mutex_lock(IntPtr raw);
+
+		public void Lock() {
+			g_rec_mutex_lock(Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_rec_mutex_trylock(IntPtr raw);
+
+		public bool Trylock() {
+			bool raw_ret = g_rec_mutex_trylock(Handle);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_rec_mutex_unlock(IntPtr raw);
+
+		public void Unlock() {
+			g_rec_mutex_unlock(Handle);
+		}
+
+		public RecMutex(IntPtr raw) : base(raw) {}
+
+#endregion
+	}
+}
diff --git a/glib/SList.cs b/glib/SList.cs
index 16fdfa8..cf1a590 100644
--- a/glib/SList.cs
+++ b/glib/SList.cs
@@ -26,7 +26,7 @@ namespace GLib {
 
 	public class SList : ListBase {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_slist_copy (IntPtr l);
 		
 		public override object Clone ()
@@ -34,7 +34,7 @@ namespace GLib {
 			return new SList (g_slist_copy (Handle));
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_slist_length (IntPtr l);
 		
 		internal override int Length (IntPtr list)
@@ -42,7 +42,7 @@ namespace GLib {
 			return g_slist_length (list);
 		}
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_slist_free(IntPtr l);
 
 		internal override void Free (IntPtr list)
@@ -51,7 +51,7 @@ namespace GLib {
 				g_slist_free (list);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_slist_append (IntPtr l, IntPtr raw);
 
 		internal override IntPtr Append (IntPtr list, IntPtr raw)
@@ -59,7 +59,7 @@ namespace GLib {
 			return g_slist_append (list, raw);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_slist_prepend (IntPtr l, IntPtr raw);
 
 		internal override IntPtr Prepend (IntPtr list, IntPtr raw)
@@ -68,7 +68,7 @@ namespace GLib {
 		}
 
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 	        static extern IntPtr g_slist_nth_data (IntPtr l, uint n);
 
 		internal override IntPtr NthData (uint n)
diff --git a/glib/Signal.cs b/glib/Signal.cs
index 3ca01ce..9636a4a 100644
--- a/glib/Signal.cs
+++ b/glib/Signal.cs
@@ -357,32 +357,32 @@ namespace GLib {
 			g_signal_override_class_closure (id, gtype.Val, closure);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_cclosure_new (Delegate cb, IntPtr data, IntPtr notify);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_signal_get_invocation_hint (IntPtr instance);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_signal_emitv (IntPtr instance_and_params, uint signal_id, uint gquark_detail, ref GLib.Value return_value);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_signal_emitv (IntPtr instance_and_params, uint signal_id, uint gquark_detail, IntPtr return_value);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_signal_lookup (IntPtr name, IntPtr itype);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_signal_override_class_closure (uint id, IntPtr gtype, IntPtr closure);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_signal_query (uint signal_id, out Query query);
 
 		//better not to expose g_quark_from_static_string () due to memory allocation issues
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_quark_from_string (IntPtr str);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern ulong g_signal_add_emission_hook (uint signal_id, uint gquark_detail, EmissionHookNative hook_func, IntPtr hook_data, IntPtr data_destroy);
 
 	}
diff --git a/glib/SignalClosure.cs b/glib/SignalClosure.cs
index 1e0d218..9e2b416 100644
--- a/glib/SignalClosure.cs
+++ b/glib/SignalClosure.cs
@@ -201,25 +201,25 @@ namespace GLib {
 			}
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_cclosure_new (Delegate cb, IntPtr user_data, ClosureNotify notify);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_closure_new_simple (int closure_size, IntPtr dummy);
-  
-  		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_closure_set_marshal (IntPtr closure, ClosureMarshal marshaler);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_closure_add_finalize_notifier (IntPtr closure, IntPtr dummy, ClosureNotify notify);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_signal_connect_closure (IntPtr obj, IntPtr name, IntPtr closure, bool is_after);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_signal_handler_disconnect (IntPtr instance, uint handler);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_signal_handler_is_connected (IntPtr instance, uint handler);
 	}
 }
diff --git a/glib/Source.cs b/glib/Source.cs
index 0e5b01b..b39755c 100644
--- a/glib/Source.cs
+++ b/glib/Source.cs
@@ -43,13 +43,14 @@ namespace GLib {
 			proxy_handler = null;
 		}
 	}
-	
-        public class Source {
+
+	public partial class Source : GLib.Opaque {
+
 		private Source () {}
-		
+
 		internal static Hashtable source_handlers = new Hashtable ();
 		
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_source_remove (uint tag);
 
 		public static bool Remove (uint tag)
@@ -58,5 +59,343 @@ namespace GLib {
 				source_handlers.Remove (tag);
 			return g_source_remove (tag);
 		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_source_get_context(IntPtr raw);
+
+		public GLib.MainContext Context {
+			get  {
+				IntPtr raw_ret = g_source_get_context(Handle);
+				GLib.MainContext ret = raw_ret == IntPtr.Zero ? null : new MainContext (raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_source_get_priority(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_priority(IntPtr raw, int priority);
+
+		public int Priority {
+			get  {
+				int raw_ret = g_source_get_priority(Handle);
+				int ret = raw_ret;
+				return ret;
+			}
+			set  {
+				g_source_set_priority(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_source_get_name(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_name(IntPtr raw, IntPtr name);
+
+		public string Name {
+			get  {
+				IntPtr raw_ret = g_source_get_name(Handle);
+				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+				return ret;
+			}
+			set  {
+				IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+				g_source_set_name(Handle, native_value);
+				GLib.Marshaller.Free (native_value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_source_get_type();
+
+		public static GLib.GType GType {
+			get {
+				IntPtr raw_ret = g_source_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_add_child_source(IntPtr raw, IntPtr child_source);
+
+		public void AddChildSource(GLib.Source child_source) {
+			g_source_add_child_source(Handle, child_source == null ? IntPtr.Zero : child_source.Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_add_poll(IntPtr raw, IntPtr fd);
+
+		public void AddPoll(GLib.PollFD fd) {
+			IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+			g_source_add_poll(Handle, native_fd);
+			fd = GLib.PollFD.New (native_fd);
+			Marshal.FreeHGlobal (native_fd);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_source_attach(IntPtr raw, IntPtr context);
+
+		public uint Attach(GLib.MainContext context) {
+			uint raw_ret = g_source_attach(Handle, context == null ? IntPtr.Zero : context.Handle);
+			uint ret = raw_ret;
+			return ret;
+		}
+
+		uint Attach() {
+			return Attach (null);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_source_get_can_recurse(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_can_recurse(IntPtr raw, bool can_recurse);
+
+		public bool CanRecurse {
+			get {
+				bool raw_ret = g_source_get_can_recurse(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_source_set_can_recurse(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_get_current_time(IntPtr raw, IntPtr timeval);
+
+		[Obsolete]
+		public void GetCurrentTime(GLib.TimeVal timeval) {
+			IntPtr native_timeval = GLib.Marshaller.StructureToPtrAlloc (timeval);
+			g_source_get_current_time(Handle, native_timeval);
+			timeval = GLib.TimeVal.New (native_timeval);
+			Marshal.FreeHGlobal (native_timeval);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern uint g_source_get_id(IntPtr raw);
+
+		public uint Id {
+			get {
+				uint raw_ret = g_source_get_id(Handle);
+				uint ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern long g_source_get_ready_time(IntPtr raw);
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_ready_time(IntPtr raw, long ready_time);
+
+		public long ReadyTime {
+			get {
+				long raw_ret = g_source_get_ready_time(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+			set {
+				g_source_set_ready_time(Handle, value);
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern long g_source_get_time(IntPtr raw);
+
+		public long Time {
+			get {
+				long raw_ret = g_source_get_time(Handle);
+				long ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_source_is_destroyed(IntPtr raw);
+
+		public bool IsDestroyed {
+			get {
+				bool raw_ret = g_source_is_destroyed(Handle);
+				bool ret = raw_ret;
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_modify_unix_fd(IntPtr raw, IntPtr tag, int new_events);
+
+		public void ModifyUnixFd(IntPtr tag, GLib.IOCondition new_events) {
+			g_source_modify_unix_fd(Handle, tag, (int) new_events);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_source_query_unix_fd(IntPtr raw, IntPtr tag);
+
+		public GLib.IOCondition QueryUnixFd(IntPtr tag) {
+			int raw_ret = g_source_query_unix_fd(Handle, tag);
+			GLib.IOCondition ret = (GLib.IOCondition) raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_remove_child_source(IntPtr raw, IntPtr child_source);
+
+		public void RemoveChildSource(GLib.Source child_source) {
+			g_source_remove_child_source(Handle, child_source == null ? IntPtr.Zero : child_source.Handle);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_remove_poll(IntPtr raw, IntPtr fd);
+
+		public void RemovePoll(GLib.PollFD fd) {
+			IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+			g_source_remove_poll(Handle, native_fd);
+			fd = GLib.PollFD.New (native_fd);
+			Marshal.FreeHGlobal (native_fd);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_remove_unix_fd(IntPtr raw, IntPtr tag);
+
+		public void RemoveUnixFd(IntPtr tag) {
+			g_source_remove_unix_fd(Handle, tag);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_callback_indirect(IntPtr raw, IntPtr callback_data, IntPtr callback_funcs);
+
+		public void SetCallbackIndirect(IntPtr callback_data, GLib.SourceCallbackFuncs callback_funcs) {
+			IntPtr native_callback_funcs = GLib.Marshaller.StructureToPtrAlloc (callback_funcs);
+			g_source_set_callback_indirect(Handle, callback_data, native_callback_funcs);
+			callback_funcs = GLib.SourceCallbackFuncs.New (native_callback_funcs);
+			Marshal.FreeHGlobal (native_callback_funcs);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_funcs(IntPtr raw, IntPtr value);
+
+		public GLib.SourceFuncs Funcs {
+			set {
+				IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+				g_source_set_funcs(Handle, native_value);
+				value = GLib.SourceFuncs.New (native_value);
+				Marshal.FreeHGlobal (native_value);
+			}
+		}
+
+		/*
+		 * commented out because there is already a custom implementation for Remove
+		 *
+		[DllImport (Global.GLibNativeLib, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_source_remove(uint tag);
+
+		public static bool Remove(uint tag) {
+			bool raw_ret = g_source_remove(tag);
+			bool ret = raw_ret;
+			return ret;
+		}
+		*/
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_source_remove_by_funcs_user_data(IntPtr funcs, IntPtr user_data);
+
+		public static bool RemoveByFuncsUserData(GLib.SourceFuncs funcs, IntPtr user_data) {
+			IntPtr native_funcs = GLib.Marshaller.StructureToPtrAlloc (funcs);
+			bool raw_ret = g_source_remove_by_funcs_user_data(native_funcs, user_data);
+			bool ret = raw_ret;
+			funcs = GLib.SourceFuncs.New (native_funcs);
+			Marshal.FreeHGlobal (native_funcs);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_source_remove_by_user_data(IntPtr user_data);
+
+		public static bool RemoveByUserData(IntPtr user_data) {
+			bool raw_ret = g_source_remove_by_user_data(user_data);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_set_name_by_id(uint tag, IntPtr name);
+
+		public static void SetNameById(uint tag, string name) {
+			IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+			g_source_set_name_by_id(tag, native_name);
+			GLib.Marshaller.Free (native_name);
+		}
+
+		public Source(IntPtr raw) : base(raw) {}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_source_new(IntPtr source_funcs, uint struct_size);
+
+		public Source (GLib.SourceFuncs source_funcs, uint struct_size)
+		{
+			IntPtr native_source_funcs = GLib.Marshaller.StructureToPtrAlloc (source_funcs);
+			Raw = g_source_new(native_source_funcs, struct_size);
+			source_funcs = GLib.SourceFuncs.New (native_source_funcs);
+			Marshal.FreeHGlobal (native_source_funcs);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_source_ref(IntPtr raw);
+
+		protected override void Ref (IntPtr raw)
+		{
+			if (!Owned) {
+				g_source_ref (raw);
+				Owned = true;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_unref(IntPtr raw);
+
+		protected override void Unref (IntPtr raw)
+		{
+			if (Owned) {
+				g_source_unref (raw);
+				Owned = false;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_source_destroy(IntPtr raw);
+
+		protected override void Free (IntPtr raw)
+		{
+			g_source_destroy (raw);
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_source_destroy (handle);
+				return false;
+			}
+		}
+
+		~Source ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
 	}
-}
+
+}
\ No newline at end of file
diff --git a/glib/SourceCallbackFuncs.cs b/glib/SourceCallbackFuncs.cs
new file mode 100644
index 0000000..c1f72a3
--- /dev/null
+++ b/glib/SourceCallbackFuncs.cs
@@ -0,0 +1,44 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public partial struct SourceCallbackFuncs : IEquatable<SourceCallbackFuncs> {
+
+
+		public static GLib.SourceCallbackFuncs Zero = new GLib.SourceCallbackFuncs ();
+
+		public static GLib.SourceCallbackFuncs New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.SourceCallbackFuncs.Zero;
+			return (GLib.SourceCallbackFuncs) Marshal.PtrToStructure (raw, typeof (GLib.SourceCallbackFuncs));
+		}
+
+		public bool Equals (SourceCallbackFuncs other)
+		{
+			return true;
+		}
+
+		public override bool Equals (object other)
+		{
+			return other is SourceCallbackFuncs && Equals ((SourceCallbackFuncs) other);
+		}
+
+		public override int GetHashCode ()
+		{
+			return this.GetType().FullName.GetHashCode();
+		}
+
+		private static GLib.GType GType {
+			get { return GLib.GType.Pointer; }
+		}
+#endregion
+	}
+}
diff --git a/glib/SourceDummyMarshal.cs b/glib/SourceDummyMarshal.cs
new file mode 100644
index 0000000..df9f730
--- /dev/null
+++ b/glib/SourceDummyMarshal.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate void SourceDummyMarshal();
+
+}
diff --git a/glib/SourceFunc.cs b/glib/SourceFunc.cs
new file mode 100644
index 0000000..3a4b2b6
--- /dev/null
+++ b/glib/SourceFunc.cs
@@ -0,0 +1,10 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+
+	public delegate bool SourceFunc(IntPtr user_data);
+
+}
diff --git a/glib/SourceFuncs.cs b/glib/SourceFuncs.cs
new file mode 100644
index 0000000..4fc603f
--- /dev/null
+++ b/glib/SourceFuncs.cs
@@ -0,0 +1,46 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public partial struct SourceFuncs : IEquatable<SourceFuncs> {
+
+		internal GLibSharp.SourceFuncNative closure_callback;
+		internal GLibSharp.SourceDummyMarshalNative closure_marshal;
+
+		public static GLib.SourceFuncs Zero = new GLib.SourceFuncs ();
+
+		public static GLib.SourceFuncs New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.SourceFuncs.Zero;
+			return (GLib.SourceFuncs) Marshal.PtrToStructure (raw, typeof (GLib.SourceFuncs));
+		}
+
+		public bool Equals (SourceFuncs other)
+		{
+			return true && closure_callback.Equals (other.closure_callback) && closure_callback.Equals (other.closure_callback);
+		}
+
+		public override bool Equals (object other)
+		{
+			return other is SourceFuncs && Equals ((SourceFuncs) other);
+		}
+
+		public override int GetHashCode ()
+		{
+			return this.GetType().FullName.GetHashCode() ^ closure_marshal.GetHashCode () ^ closure_marshal.GetHashCode ();
+		}
+
+		private static GLib.GType GType {
+			get { return GLib.GType.Pointer; }
+		}
+#endregion
+	}
+}
diff --git a/glib/Spawn.cs b/glib/Spawn.cs
index 72c9a6b..9e5792c 100644
--- a/glib/Spawn.cs
+++ b/glib/Spawn.cs
@@ -102,7 +102,7 @@ namespace GLib {
 			this.pid = pid;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_spawn_close_pid (int pid);
 
 		public void Close ()
@@ -110,10 +110,10 @@ namespace GLib {
 			g_spawn_close_pid ((int) pid);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_spawn_async (IntPtr dir, IntPtr[] argv, IntPtr[] envp, int flags, SpawnChildSetupFuncNative func, IntPtr data, out int pid, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_spawn_async_utf8 (IntPtr dir, IntPtr[] argv, IntPtr[] envp, int flags, SpawnChildSetupFuncNative func, IntPtr data, out int pid, out IntPtr error);
 
 		public static bool SpawnAsync (string working_directory, string[] argv, string[] envp, SpawnFlags flags, SpawnChildSetupFunc child_setup, out Process child_process)
@@ -139,10 +139,10 @@ namespace GLib {
 			return result;
 		}  
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_spawn_async_with_pipes (IntPtr dir, IntPtr[] argv, IntPtr[] envp, int flags, SpawnChildSetupFuncNative func, IntPtr data, out int pid, IntPtr stdin, IntPtr stdout, IntPtr stderr, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_spawn_async_with_pipes_utf8 (IntPtr dir, IntPtr[] argv, IntPtr[] envp, int flags, SpawnChildSetupFuncNative func, IntPtr data, out int pid, IntPtr stdin, IntPtr stdout, IntPtr stderr, out IntPtr error);
 
 		public static bool SpawnAsyncWithPipes (string working_directory, string[] argv, string[] envp, SpawnFlags flags, SpawnChildSetupFunc child_setup, out Process child_process, ref int stdin, ref int stdout, ref int stderr)
@@ -183,10 +183,10 @@ namespace GLib {
 			return result;
 		}  
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_spawn_sync (IntPtr dir, IntPtr[] argv, IntPtr[] envp, int flags, SpawnChildSetupFuncNative func, IntPtr data, out IntPtr stdout, out IntPtr stderr, out int exit_status, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_spawn_sync_utf8 (IntPtr dir, IntPtr[] argv, IntPtr[] envp, int flags, SpawnChildSetupFuncNative func, IntPtr data, out IntPtr stdout, out IntPtr stderr, out int exit_status, out IntPtr error);
 
 		public static bool SpawnSync (string working_directory, string[] argv, string[] envp, SpawnFlags flags, SpawnChildSetupFunc child_setup, out string stdout, out string stderr, out int exit_status)
@@ -212,10 +212,10 @@ namespace GLib {
 			return result;
 		}  
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_spawn_command_line_async (IntPtr cmdline, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_spawn_command_line_async_utf8 (IntPtr cmdline, out IntPtr error);
 
 		public static bool SpawnCommandLineAsync (string command_line)
@@ -234,10 +234,10 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_spawn_command_line_sync (IntPtr cmdline, out IntPtr stdout, out IntPtr stderr, out int exit_status, out IntPtr error);
 
-		[DllImport ("libglib-2.0-0.dll")]
+		[DllImport (Global.GLibNativeDll)]
 		static extern bool g_spawn_command_line_sync_utf8 (IntPtr cmdline, out IntPtr stdout, out IntPtr stderr, out int exit_status, out IntPtr error);
 
 		public static bool SpawnCommandLineSync (string command_line, out string stdout, out string stderr, out int exit_status)
diff --git a/glib/Thread.cs b/glib/Thread.cs
index 7032562..bded5ea 100644
--- a/glib/Thread.cs
+++ b/glib/Thread.cs
@@ -29,7 +29,9 @@ namespace GLib
 		private Thread () {}
 		
 #if ENABLE_GTHREAD_INIT
-		[DllImport ("libgthread-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		const string GThreadNativeLib = "libgthread-2.0-0.dll";
+
+		[DllImport (GThreadNativeLib, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_thread_init (IntPtr i);
 
 		public static void Init ()
@@ -37,7 +39,7 @@ namespace GLib
 			g_thread_init (IntPtr.Zero);
 		}
 
-		[DllImport ("libgthread-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (GThreadNativeLib, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_thread_get_initialized ();
 
 		public static bool Supported
diff --git a/glib/TimeVal.cs b/glib/TimeVal.cs
new file mode 100644
index 0000000..6f4053c
--- /dev/null
+++ b/glib/TimeVal.cs
@@ -0,0 +1,105 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	[StructLayout(LayoutKind.Sequential)]
+	public partial struct TimeVal : IEquatable<TimeVal> {
+
+		private IntPtr tv_sec;
+		public long TvSec {
+			get {
+				return (long) tv_sec;
+			}
+			set {
+				tv_sec = new IntPtr (value);
+			}
+		}
+		private IntPtr tv_usec;
+		public long TvUsec {
+			get {
+				return (long) tv_usec;
+			}
+			set {
+				tv_usec = new IntPtr (value);
+			}
+		}
+
+		public static GLib.TimeVal Zero = new GLib.TimeVal ();
+
+		public static GLib.TimeVal New(IntPtr raw) {
+			if (raw == IntPtr.Zero)
+				return GLib.TimeVal.Zero;
+			return (GLib.TimeVal) Marshal.PtrToStructure (raw, typeof (GLib.TimeVal));
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_time_val_add(IntPtr raw, IntPtr microseconds);
+
+		public void Add(long microseconds) {
+			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+			g_time_val_add(this_as_native, new IntPtr (microseconds));
+			ReadNative (this_as_native, ref this);
+			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_val_to_iso8601(IntPtr raw);
+
+		public string ToIso8601() {
+			IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+			System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+			IntPtr raw_ret = g_time_val_to_iso8601(this_as_native);
+			string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+			ReadNative (this_as_native, ref this);
+			System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_time_val_from_iso8601(IntPtr iso_date, IntPtr time_);
+
+		public static bool FromIso8601(string iso_date, out GLib.TimeVal time_) {
+			IntPtr native_iso_date = GLib.Marshaller.StringToPtrGStrdup (iso_date);
+			IntPtr native_time_ = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.TimeVal)));
+			bool raw_ret = g_time_val_from_iso8601(native_iso_date, native_time_);
+			bool ret = raw_ret;
+			GLib.Marshaller.Free (native_iso_date);
+			time_ = GLib.TimeVal.New (native_time_);
+			Marshal.FreeHGlobal (native_time_);
+			return ret;
+		}
+
+		static void ReadNative (IntPtr native, ref GLib.TimeVal target)
+		{
+			target = New (native);
+		}
+
+		public bool Equals (TimeVal other)
+		{
+			return true && TvSec.Equals (other.TvSec) && TvUsec.Equals (other.TvUsec);
+		}
+
+		public override bool Equals (object other)
+		{
+			return other is TimeVal && Equals ((TimeVal) other);
+		}
+
+		public override int GetHashCode ()
+		{
+			return this.GetType().FullName.GetHashCode() ^ TvSec.GetHashCode () ^ TvUsec.GetHashCode ();
+		}
+
+		private static GLib.GType GType {
+			get { return GLib.GType.Pointer; }
+		}
+#endregion
+	}
+}
diff --git a/glib/TimeZone.cs b/glib/TimeZone.cs
new file mode 100644
index 0000000..17705e6
--- /dev/null
+++ b/glib/TimeZone.cs
@@ -0,0 +1,146 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace GLib {
+
+	using System;
+	using System.Collections;
+	using System.Collections.Generic;
+	using System.Runtime.InteropServices;
+
+#region Autogenerated code
+	public partial class TimeZone : GLib.Opaque {
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_zone_get_type();
+
+		public static GLib.GType GType { 
+			get {
+				IntPtr raw_ret = g_time_zone_get_type();
+				GLib.GType ret = new GLib.GType(raw_ret);
+				return ret;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_time_zone_adjust_time(IntPtr raw, int type, long time_);
+
+		public int AdjustTime(int type, long time_) {
+			int raw_ret = g_time_zone_adjust_time(Handle, type, time_);
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_time_zone_find_interval(IntPtr raw, int type, long time_);
+
+		public int FindInterval(int type, long time_) {
+			int raw_ret = g_time_zone_find_interval(Handle, type, time_);
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_zone_get_abbreviation(IntPtr raw, int interval);
+
+		public string GetAbbreviation(int interval) {
+			IntPtr raw_ret = g_time_zone_get_abbreviation(Handle, interval);
+			string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern int g_time_zone_get_offset(IntPtr raw, int interval);
+
+		public int GetOffset(int interval) {
+			int raw_ret = g_time_zone_get_offset(Handle, interval);
+			int ret = raw_ret;
+			return ret;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern bool g_time_zone_is_dst(IntPtr raw, int interval);
+
+		public bool IsDst(int interval) {
+			bool raw_ret = g_time_zone_is_dst(Handle, interval);
+			bool ret = raw_ret;
+			return ret;
+		}
+
+		public TimeZone(IntPtr raw) : base(raw) {}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_zone_new(IntPtr identifier);
+
+		public TimeZone (string identifier) 
+		{
+			IntPtr native_identifier = GLib.Marshaller.StringToPtrGStrdup (identifier);
+			Raw = g_time_zone_new(native_identifier);
+			GLib.Marshaller.Free (native_identifier);
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_zone_new_local();
+
+		public TimeZone () 
+		{
+			Raw = g_time_zone_new_local();
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_zone_new_utc();
+
+		public static TimeZone NewUtc()
+		{
+			TimeZone result = new TimeZone (g_time_zone_new_utc());
+			return result;
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern IntPtr g_time_zone_ref(IntPtr raw);
+
+		protected override void Ref (IntPtr raw)
+		{
+			if (!Owned) {
+				g_time_zone_ref (raw);
+				Owned = true;
+			}
+		}
+
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
+		static extern void g_time_zone_unref(IntPtr raw);
+
+		protected override void Unref (IntPtr raw)
+		{
+			if (Owned) {
+				g_time_zone_unref (raw);
+				Owned = false;
+			}
+		}
+
+		class FinalizerInfo {
+			IntPtr handle;
+
+			public FinalizerInfo (IntPtr handle)
+			{
+				this.handle = handle;
+			}
+
+			public bool Handler ()
+			{
+				g_time_zone_unref (handle);
+				return false;
+			}
+		}
+
+		~TimeZone ()
+		{
+			if (!Owned)
+				return;
+			FinalizerInfo info = new FinalizerInfo (Handle);
+			GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler));
+		}
+
+#endregion
+	}
+}
\ No newline at end of file
diff --git a/glib/Timeout.cs b/glib/Timeout.cs
old mode 100755
new mode 100644
index 99fd9a5..77cbbec
--- a/glib/Timeout.cs
+++ b/glib/Timeout.cs
@@ -83,7 +83,7 @@ namespace GLib {
 		}
 		
 		private Timeout () {} 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_timeout_add (uint interval, TimeoutHandlerInternal d, IntPtr data);
 
 		public static uint Add (uint interval, TimeoutHandler hndlr)
@@ -97,7 +97,7 @@ namespace GLib {
 			return p.ID;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_timeout_add_full (int priority, uint interval, TimeoutHandlerInternal d, IntPtr data, DestroyNotify notify);
 
 		public static uint Add (uint interval, TimeoutHandler hndlr, Priority priority)
@@ -111,7 +111,7 @@ namespace GLib {
 			return p.ID;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_timeout_add_seconds (uint interval, TimeoutHandlerInternal d, IntPtr data);
 
 		public static uint AddSeconds (uint interval, TimeoutHandler hndlr)
@@ -130,7 +130,7 @@ namespace GLib {
 			Source.Remove (id);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_source_remove (uint id);
 
 		public static bool Remove (TimeoutHandler hndlr)
diff --git a/glib/ToggleRef.cs b/glib/ToggleRef.cs
index d133a02..f4c4400 100644
--- a/glib/ToggleRef.cs
+++ b/glib/ToggleRef.cs
@@ -52,7 +52,7 @@ namespace GLib {
 				else if (reference is GLib.Object)
 					return reference as GLib.Object;
 
-				WeakReference weak = reference as WeakReference;
+				WeakReference weak = (WeakReference)reference;
 				return weak.Target as GLib.Object;
 			}
 		}
@@ -108,7 +108,7 @@ namespace GLib {
 		{
 			try {
 				GCHandle gch = (GCHandle) data;
-				ToggleRef tref = gch.Target as ToggleRef;
+				ToggleRef tref = (ToggleRef)gch.Target;
 				tref.Toggle (is_last_ref);
 			} catch (Exception e) {
 				ExceptionManager.RaiseUnhandledException (e, false);
@@ -155,16 +155,16 @@ namespace GLib {
 			return false;
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_add_toggle_ref (IntPtr raw, ToggleNotifyHandler notify_cb, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_remove_toggle_ref (IntPtr raw, ToggleNotifyHandler notify_cb, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_ref (IntPtr raw);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_object_unref (IntPtr raw);
 
 	}
diff --git a/glib/Value.cs b/glib/Value.cs
old mode 100755
new mode 100644
index deb7deb..4df6dbf
--- a/glib/Value.cs
+++ b/glib/Value.cs
@@ -134,7 +134,7 @@ namespace GLib {
 			g_value_set_object (ref this, val == null ? IntPtr.Zero : val.Handle);
 		}
 
-		public Value (GLib.GInterfaceAdapter val) : this (val == null ? GType.Object : val.GType)
+		public Value (GLib.GInterfaceAdapter val) : this (val == null ? GType.Object : val.GInterfaceGType)
 		{
 			g_value_set_object (ref this, val == null ? IntPtr.Zero : val.Handle);
 		}
@@ -414,6 +414,10 @@ namespace GLib {
 		object ToBoxed ()
 		{
 			IntPtr boxed_ptr = g_value_get_boxed (ref this);
+
+			if (boxed_ptr == IntPtr.Zero)
+				return null;
+
 			Type t = GType.LookupType (type);
 			if (t == null)
 				throw new Exception ("Unknown type " + new GType (type).ToString ());
@@ -421,10 +425,14 @@ namespace GLib {
 				return (GLib.Opaque) this;
 
 			MethodInfo mi = t.GetMethod ("New", BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy);
-			if (mi == null)
-				return Marshal.PtrToStructure (boxed_ptr, t);
-			else
+			if (mi != null)
 				return mi.Invoke (null, new object[] {boxed_ptr});
+
+			ConstructorInfo ci = t.GetConstructor (new Type[] { typeof(IntPtr) });
+			if (ci != null)
+				return ci.Invoke (new object[] { boxed_ptr });
+
+			return Marshal.PtrToStructure (boxed_ptr, t);
 		}
 
 		public object Val
@@ -530,7 +538,7 @@ namespace GLib {
 					if(value is GLib.Object)
 						g_value_set_object (ref this, (value as GLib.Object).Handle);
 					else
-						g_value_set_object (ref this, (value as GLib.GInterfaceAdapter).Handle);
+						g_value_set_object (ref this, ((GInterfaceAdapter)value).Handle);
 				else if (GType.Is (type, GType.Boxed)) {
 					if (value is IWrapper) {
 						g_value_set_boxed (ref this, ((IWrapper)value).Handle);
@@ -548,8 +556,14 @@ namespace GLib {
 
 		internal void Update (object val)
 		{
-			if (GType.Is (type, GType.Boxed) && !(val is IWrapper))
-				Marshal.StructureToPtr (val, g_value_get_boxed (ref this), false);
+			if (GType.Is (type, GType.Boxed) && !(val is IWrapper)) {
+				MethodInfo mi = val.GetType ().GetMethod ("Update", BindingFlags.NonPublic | BindingFlags.Instance);
+				IntPtr boxed_ptr = g_value_get_boxed (ref this);
+				if (mi == null)
+					Marshal.StructureToPtr (val, boxed_ptr, false);
+				else
+					mi.Invoke (val, null);
+			}
 		}
 
 		bool HoldsFlags {
@@ -575,137 +589,137 @@ namespace GLib {
 			g_value_init (ref this, spec.ValueType.Val);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_object_class_find_property (IntPtr klass, IntPtr name);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_type_check_value_holds (ref Value val, IntPtr gtype);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_init (ref GLib.Value val, IntPtr gtype);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_unset (ref GLib.Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_boolean (ref Value val, bool data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_uchar (ref Value val, byte data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_char (ref Value val, sbyte data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_boxed (ref Value val, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_double (ref Value val, double data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_float (ref Value val, float data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_int (ref Value val, int data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_int64 (ref Value val, long data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_long (ref Value val, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_long (ref Value val, int data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_uint64 (ref Value val, ulong data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_object (ref Value val, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_param (ref Value val, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_pointer (ref Value val, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_string (ref Value val, IntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_uint (ref Value val, uint data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_ulong (ref Value val, UIntPtr data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_ulong (ref Value val, uint data);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_enum (ref Value val, int data);
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_set_flags (ref Value val, uint data);
 		
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_value_get_boolean (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern byte g_value_get_uchar (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern sbyte g_value_get_char (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_get_boxed (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern double g_value_get_double (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern float g_value_get_float (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_value_get_int (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern long g_value_get_int64 (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_get_long (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", EntryPoint = "g_value_get_long", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, EntryPoint = "g_value_get_long", CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_value_get_long_as_int (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern ulong g_value_get_uint64 (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern UIntPtr g_value_get_ulong (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", EntryPoint = "g_value_get_ulong", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, EntryPoint = "g_value_get_ulong", CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_value_get_ulong_as_uint (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_get_object (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_get_param (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_get_pointer (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_get_string (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_value_get_uint (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_value_get_enum (ref Value val);
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_value_get_flags (ref Value val);
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_strv_get_type ();
 	}
 }
diff --git a/glib/ValueArray.cs b/glib/ValueArray.cs
index 6483c9b..2fce767 100644
--- a/glib/ValueArray.cs
+++ b/glib/ValueArray.cs
@@ -33,7 +33,7 @@ namespace GLib {
 		static private IList<IntPtr> PendingFrees = new List<IntPtr> ();
 		static private bool idle_queued = false;
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_array_new (uint n_preallocs);
 
 		public ValueArray (uint n_preallocs)
@@ -58,7 +58,7 @@ namespace GLib {
 			GC.SuppressFinalize (this);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_array_free (IntPtr raw);
 
 		void Dispose (bool disposing)
@@ -116,7 +116,7 @@ namespace GLib {
 			get { return Native.values; }
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_array_append (IntPtr raw, ref GLib.Value val);
 
 		public void Append (GLib.Value val)
@@ -124,7 +124,7 @@ namespace GLib {
 			g_value_array_append (Handle, ref val);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_array_insert (IntPtr raw, uint idx, ref GLib.Value val);
 
 		public void Insert (uint idx, GLib.Value val)
@@ -132,7 +132,7 @@ namespace GLib {
 			g_value_array_insert (Handle, idx, ref val);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_array_prepend (IntPtr raw, ref GLib.Value val);
 
 		public void Prepend (GLib.Value val)
@@ -140,7 +140,7 @@ namespace GLib {
 			g_value_array_prepend (Handle, ref val);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_value_array_remove (IntPtr raw, uint idx);
 
 		public void Remove (uint idx)
@@ -153,7 +153,7 @@ namespace GLib {
 			get { return (int) Native.n_values; }
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_array_get_nth (IntPtr raw, uint idx);
 
 		public object this [int index] { 
@@ -227,7 +227,7 @@ namespace GLib {
 			return new ListEnumerator (this);
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_array_copy (IntPtr raw);
 
 		// ICloneable
@@ -236,7 +236,7 @@ namespace GLib {
 			return new ValueArray (g_value_array_copy (Handle));
 		}
 
-		[DllImport ("libgobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GObjectNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_value_array_get_type ();
 
 		public static GLib.GType GType {
diff --git a/glib/Variant.cs b/glib/Variant.cs
index e689da2..8603f09 100644
--- a/glib/Variant.cs
+++ b/glib/Variant.cs
@@ -37,7 +37,7 @@ namespace GLib {
 			Dispose (true);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_variant_unref (IntPtr handle);
 
 		void Dispose (bool disposing)
@@ -51,7 +51,7 @@ namespace GLib {
 				GC.SuppressFinalize (this);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_ref_sink (IntPtr handle);
 
 		public Variant (IntPtr handle)
@@ -59,52 +59,52 @@ namespace GLib {
 			this.handle = g_variant_ref_sink (handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_boolean (bool val);
 
 		public Variant (bool val) : this (g_variant_new_boolean (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_byte (byte val);
 
 		public Variant (byte val) : this (g_variant_new_byte (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_int16 (short val);
 
 		public Variant (short val) : this (g_variant_new_int16 (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_uint16 (ushort val);
 
 		public Variant (ushort val) : this (g_variant_new_uint16 (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_int32 (int val);
 
 		public Variant (int val) : this (g_variant_new_int32 (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_uint32 (uint val);
 
 		public Variant (uint val) : this (g_variant_new_uint32 (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_int64 (long val);
 
 		public Variant (long val) : this (g_variant_new_int64 (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_uint64 (ulong val);
 
 		public Variant (ulong val) : this (g_variant_new_uint64 (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_double (double val);
 
 		public Variant (double val) : this (g_variant_new_double (val)) {}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_new_string (IntPtr val);
 
 		public Variant (string val)
@@ -114,7 +114,7 @@ namespace GLib {
 			Marshaller.Free (native_val);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_get_boolean (IntPtr handle);
 
 		public static explicit operator bool (Variant val)
@@ -122,7 +122,7 @@ namespace GLib {
 			return g_variant_get_boolean (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern byte g_variant_get_byte (IntPtr handle);
 
 		public static explicit operator byte (Variant val)
@@ -130,7 +130,7 @@ namespace GLib {
 			return g_variant_get_byte (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern short g_variant_get_int16 (IntPtr handle);
 
 		public static explicit operator short (Variant val)
@@ -138,7 +138,7 @@ namespace GLib {
 			return g_variant_get_int16 (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern ushort g_variant_get_uint16 (IntPtr handle);
 
 		public static explicit operator ushort (Variant val)
@@ -146,7 +146,7 @@ namespace GLib {
 			return g_variant_get_uint16 (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_variant_get_int32 (IntPtr handle);
 
 		public static explicit operator int (Variant val)
@@ -154,7 +154,7 @@ namespace GLib {
 			return g_variant_get_int32 (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern uint g_variant_get_uint32 (IntPtr handle);
 
 		public static explicit operator uint (Variant val)
@@ -162,7 +162,7 @@ namespace GLib {
 			return g_variant_get_uint32 (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern long g_variant_get_int64 (IntPtr handle);
 
 		public static explicit operator long (Variant val)
@@ -170,7 +170,7 @@ namespace GLib {
 			return g_variant_get_int64 (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern ulong g_variant_get_uint64 (IntPtr handle);
 
 		public static explicit operator ulong (Variant val)
@@ -178,7 +178,7 @@ namespace GLib {
 			return g_variant_get_uint64 (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern double g_variant_get_double (IntPtr handle);
 
 		public static explicit operator double (Variant val)
@@ -186,7 +186,7 @@ namespace GLib {
 			return g_variant_get_double (val.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_get_string (IntPtr handle);
 
 		public static explicit operator string (Variant val)
diff --git a/glib/VariantType.cs b/glib/VariantType.cs
index df7760d..f021489 100644
--- a/glib/VariantType.cs
+++ b/glib/VariantType.cs
@@ -47,7 +47,7 @@ namespace GLib {
 		public static VariantType ByteString = new VariantType ("ay");
 		public static VariantType ByteStringArray = new VariantType ("aay");
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_string_is_valid (IntPtr type_string);
 
 		public static bool StringIsValid (string type_string)
@@ -76,7 +76,7 @@ namespace GLib {
 			Dispose (true);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern void g_variant_type_free (IntPtr handle);
 
 		void Dispose (bool disposing)
@@ -90,7 +90,7 @@ namespace GLib {
 				GC.SuppressFinalize (this);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_copy (IntPtr handle);
 
 		public VariantType (IntPtr handle)
@@ -98,7 +98,7 @@ namespace GLib {
 			this.handle = g_variant_type_copy (handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_new (IntPtr type_name);
 
 		public VariantType (string type_string)
@@ -113,7 +113,7 @@ namespace GLib {
 			return new VariantType (Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_equals (IntPtr a, IntPtr b);
 
 		public override bool Equals (object o)
@@ -121,7 +121,7 @@ namespace GLib {
 			return (o is VariantType) && g_variant_type_equals (Handle, (o as VariantType).Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern int g_variant_type_hash (IntPtr a);
 
 		public override int GetHashCode ()
@@ -129,7 +129,7 @@ namespace GLib {
 			return g_variant_type_hash (Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_peek_string (IntPtr a);
 
 		public override string ToString ()
@@ -137,7 +137,7 @@ namespace GLib {
 			return Marshaller.Utf8PtrToString (g_variant_type_peek_string (Handle));
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_array (IntPtr type);
 
 		public bool IsArray {
@@ -145,56 +145,56 @@ namespace GLib {
 		}
 
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_basic (IntPtr type);
 
 		public bool IsBasic {
 			get { return g_variant_type_is_basic (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_container (IntPtr type);
 
 		public bool IsContainer {
 			get { return g_variant_type_is_container (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_definite (IntPtr type);
 
 		public bool IsDefinite {
 			get { return g_variant_type_is_definite (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_dict_entry (IntPtr type);
 
 		public bool IsDictionaryEntry {
 			get { return g_variant_type_is_dict_entry (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_maybe (IntPtr type);
 
 		public bool IsMaybe {
 			get { return g_variant_type_is_maybe (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_tuple (IntPtr type);
 
 		public bool IsTuple {
 			get { return g_variant_type_is_tuple (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_variant (IntPtr type);
 
 		public bool IsVariant {
 			get { return g_variant_type_is_variant (Handle); }
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern bool g_variant_type_is_subtype_of (IntPtr type, IntPtr supertype);
 
 		public bool IsSubtypeOf (VariantType supertype)
@@ -202,7 +202,7 @@ namespace GLib {
 			return g_variant_type_is_subtype_of (Handle, supertype == null ? IntPtr.Zero : supertype.Handle);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_element (IntPtr type);
 
 		public VariantType Element ()
@@ -210,7 +210,7 @@ namespace GLib {
 			return new VariantType (g_variant_type_element (Handle));
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_first (IntPtr type);
 
 		public VariantType First ()
@@ -218,7 +218,7 @@ namespace GLib {
 			return new VariantType (g_variant_type_first (Handle));
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_next (IntPtr type);
 
 		public VariantType Next ()
@@ -226,7 +226,7 @@ namespace GLib {
 			return new VariantType (g_variant_type_next (Handle));
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_n_items (IntPtr type);
 
 		public long NItems ()
@@ -234,7 +234,7 @@ namespace GLib {
 			return g_variant_type_n_items (Handle).ToInt64 ();
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_key (IntPtr type);
 
 		public VariantType Key ()
@@ -242,7 +242,7 @@ namespace GLib {
 			return new VariantType (g_variant_type_key (Handle));
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_value (IntPtr type);
 
 		public VariantType Value ()
@@ -250,7 +250,7 @@ namespace GLib {
 			return new VariantType (g_variant_type_value (Handle));
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_new_array (IntPtr element);
 
 		public static VariantType NewArray (VariantType element)
@@ -260,7 +260,7 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_new_dict_entry (IntPtr key, IntPtr value);
 
 		public static VariantType NewDictionaryEntry (VariantType key, VariantType value)
@@ -270,7 +270,7 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_new_maybe (IntPtr element);
 
 		public static VariantType NewMaybe (VariantType element)
@@ -280,7 +280,7 @@ namespace GLib {
 			return result;
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+		[DllImport (Global.GLibNativeDll, CallingConvention = CallingConvention.Cdecl)]
 		static extern IntPtr g_variant_type_new_tuple (IntPtr[] items, int n_items);
 
 		public static VariantType NewTuple (VariantType[] items)
diff --git a/gtk/Application.cs b/gtk/Application.cs
index a37139c..1aaebb7 100755
--- a/gtk/Application.cs
+++ b/gtk/Application.cs
@@ -64,7 +64,9 @@ namespace Gtk {
 
 		static void SetPrgname ()
 		{
-			GLib.Global.ProgramName = System.IO.Path.GetFileNameWithoutExtension (Environment.GetCommandLineArgs () [0]);
+			var args = Environment.GetCommandLineArgs ();
+			if (args != null && args.Length > 0)
+				GLib.Global.ProgramName = System.IO.Path.GetFileNameWithoutExtension (args [0]);
 		}
 
 		public static void Init ()
diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata
index 8833b54..62d45d9 100644
--- a/gtk/Gtk.metadata
+++ b/gtk/Gtk.metadata
@@ -35,9 +35,11 @@
   <attr path="/api/namespace/boxed[@cname='GtkTargetEntry']" name="opaque">false</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTargetEntry']/field[@cname='flags']" name="type">GtkTargetFlags</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextAttributes']/field[@cname='appearance']" name="hidden">1</attr>
+  <attr path="/api/namespace/boxed[@cname='GtkTextIter']" name="noequals">true</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@name='BackwardFindChar']/*/*[@name='pred']" name="scope">call</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@name='BackwardSearch']/*/*[@type='GtkTextIter*']" name="pass_as">out</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@name='Copy']" name="deprecated">1</attr>
+  <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@cname='gtk_text_iter_equal']" name="name">Equals</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@name='ForwardFindChar']/*/*[@name='pred']" name="scope">call</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@name='ForwardSearch']/*/*[@type='GtkTextIter*']" name="pass_as">out</attr>
   <attr path="/api/namespace/boxed[@cname='GtkTextIter']/method[@name='GetChar']" name="hidden">1</attr>
@@ -796,6 +798,8 @@
   <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetHadjustment']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetBackgroundArea']/*/*[@name='rect']" name="pass_as">out</attr>
   <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetPathAtPos']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetTooltipContext']/*/parameter[@name='x']" name="pass_as">ref</attr>
+  <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetTooltipContext']/*/parameter[@name='y']" name="pass_as">ref</attr>
   <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetTooltipContext']/*/parameter[@name='iter']" name="pass_as">out</attr>
   <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetTooltipContext']/*/parameter[@name='model']" name="pass_as">out</attr>
   <attr path="/api/namespace/object[@cname='GtkTreeView']/method[@name='GetTooltipContext']/*/parameter[@name='path']" name="pass_as">out</attr>
@@ -859,7 +863,6 @@
   <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@name='Destroy']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@name='Draw']" name="name">Drawn</attr>
   <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@cname='draw']" name="manual">true</attr>
-  <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@cname='draw']/*/*[@name='cr']" name="owned">true</attr>
   <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@name='Event']" name="name">WidgetEvent</attr>
   <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@name='EventAfter']/*/*[@name='p0']" name="name">event</attr>
   <attr path="/api/namespace/object[@cname='GtkWidget']/signal[@name='EventAfter']" name="name">WidgetEventAfter</attr>
diff --git a/gtk/IconSet.cs b/gtk/IconSet.cs
index 8eda484..09a6719 100644
--- a/gtk/IconSet.cs
+++ b/gtk/IconSet.cs
@@ -24,9 +24,6 @@ namespace Gtk {
 		unsafe static extern void gtk_icon_set_get_sizes (
 			IntPtr raw, out int *pointer_to_enum, out int n_sizes);
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		unsafe static extern void g_free (int *mem);
-
 		/// <summary> Sizes Property </summary>
 		/// <remarks> To be completed </remarks>
 		public Gtk.IconSize [] Sizes {
@@ -42,7 +39,7 @@ namespace Gtk {
 					for (int i = 0; i < length; i++)
 						retval [i] = (Gtk.IconSize) pointer_to_enum [i];
 
-					g_free (pointer_to_enum);
+					GLib.Marshaller.Free ((IntPtr)pointer_to_enum);
 				}
 
 				return retval;
diff --git a/gtk/Makefile.in b/gtk/Makefile.in
index 49cdfe6..206a785 100644
--- a/gtk/Makefile.in
+++ b/gtk/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -857,12 +857,12 @@ uninstall-am: uninstall-gapiDATA uninstall-local \
 	uninstall-gapiDATA uninstall-local uninstall-pkgconfigDATA
 
 
-$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe
+$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe
 	cp $(srcdir)/$(RAW_API) $(API)
 	chmod u+w $(API)
 	@if test -n '$(METADATA)'; then		\
-		echo "$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
-		$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
+		echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
+		$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
 	fi
 
 generated-stamp: $(API) $(INCLUDE_API) $(top_builddir)/generator/gapi_codegen.exe $(GAPI_XSD)
diff --git a/gtk/SelectionData.cs b/gtk/SelectionData.cs
index f5693de..49e8cd4 100644
--- a/gtk/SelectionData.cs
+++ b/gtk/SelectionData.cs
@@ -61,9 +61,6 @@ namespace Gtk {
 			Set(type, format, data, data.Length);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr ptr);
-
 		[DllImport ("libgtk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern bool gtk_selection_data_get_targets(IntPtr raw, out IntPtr targets, out int n_atoms);
 
@@ -77,7 +74,7 @@ namespace Gtk {
 						IntPtr atom = Marshal.ReadIntPtr (target_ptr, count * IntPtr.Size);
 						result [i] = new Gdk.Atom (atom);
 					}
-					g_free (target_ptr);
+					GLib.Marshaller.Free (target_ptr);
 					return result;
 				} else
 					return new Gdk.Atom [0];
diff --git a/gtk/glue/Makefile.in b/gtk/glue/Makefile.in
index 1d0ada9..0d9edad 100644
--- a/gtk/glue/Makefile.in
+++ b/gtk/glue/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/gtk/gui-thread-check/Makefile.in b/gtk/gui-thread-check/Makefile.in
index 0952218..332bd0f 100644
--- a/gtk/gui-thread-check/Makefile.in
+++ b/gtk/gui-thread-check/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/gtk/gui-thread-check/profiler/Makefile.in b/gtk/gui-thread-check/profiler/Makefile.in
index 80351dc..b07c8e1 100644
--- a/gtk/gui-thread-check/profiler/Makefile.in
+++ b/gtk/gui-thread-check/profiler/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/gtk/gui-thread-check/profiler/gui-thread-check.c b/gtk/gui-thread-check/profiler/gui-thread-check.c
index 4ec8643..11838e3 100644
--- a/gtk/gui-thread-check/profiler/gui-thread-check.c
+++ b/gtk/gui-thread-check/profiler/gui-thread-check.c
@@ -26,6 +26,7 @@
 #include <string.h>
 #include <glib.h>
 #include <mono/metadata/profiler.h>
+#include <stdio.h>
 
 
 extern pthread_t pthread_self (void);
@@ -62,7 +63,8 @@ simple_method_enter (MonoProfiler *prof, MonoMethod *method)
 		if (!guithread_set && strcmp (klass_name, "Application")==0 && strcmp (method_name, "Init")==0) {
 			guithread_set = TRUE;
 			guithread = current_thread_id;
-			printf ("*** GUI THREAD INITIALIZED: %u\n", guithread); 
+			printf ("*** GUI THREAD INITIALIZED: %u\n", guithread);
+			fflush (NULL);
 			return;
 		}
 		if (!guithread_set) {
@@ -70,13 +72,16 @@ simple_method_enter (MonoProfiler *prof, MonoMethod *method)
 		}
 		if (current_thread_id != guithread &&
 			!(strcmp (klass_name, "Object")==0 && strcmp (method_name, "Dispose")==0) &&
+			!(strcmp (klass_name, "Widget")==0 && strcmp (method_name, "Dispose")==0) &&
 			!(strcmp (klass_name, "Application")==0 && strcmp (method_name, "Invoke")==0) &&
 			!(strcmp (method_name, "Finalize")==0) &&
 			!(strcmp (method_name, "get_NativeDestroyHandler")==0) &&
+			!(strcmp (method_name, "remove_InternalDestroyed")==0) &&
 			!(strcmp (method_name, "remove_Destroyed")==0)
 		) {
 			printf ("*** GTK CALL NOT IN GUI THREAD: %s.%s\n", klass_name, method_name);
 	        mono_stack_walk_no_il (stack_walk_fn, NULL);
+			fflush (NULL);
 		}
 	}
 }
diff --git a/gtkdotnet/Makefile.in b/gtkdotnet/Makefile.in
index d44b3a0..beb57ea 100644
--- a/gtkdotnet/Makefile.in
+++ b/gtkdotnet/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/ltmain.sh b/ltmain.sh
index b9205ee..3825a2a 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.2ubuntu1
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1.3ubuntu1
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.2ubuntu1"
+VERSION="2.4.2 Debian-2.4.2-1.3ubuntu1"
 TIMESTAMP=""
 package_revision=1.3337
 
diff --git a/pango/Context.cs b/pango/Context.cs
index a67778e..5a978d6 100644
--- a/pango/Context.cs
+++ b/pango/Context.cs
@@ -25,9 +25,6 @@ namespace Pango {
 
 	public partial class Context {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libpango-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern void pango_context_list_families(IntPtr raw, out IntPtr families, out int n_families);
 
@@ -44,7 +41,7 @@ namespace Pango {
 					result [i] = GLib.Object.GetObject (fam_ptr) as FontFamily;
 				}
 
-				g_free (array_ptr);
+				GLib.Marshaller.Free (array_ptr);
 				return result;
 			}
 		}
diff --git a/pango/Coverage.cs b/pango/Coverage.cs
index 3ed7284..e9008e9 100644
--- a/pango/Coverage.cs
+++ b/pango/Coverage.cs
@@ -25,9 +25,6 @@ namespace Pango {
 
 	public partial class Coverage {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libpango-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern void pango_coverage_to_bytes (IntPtr raw, out IntPtr bytes, out int n_bytes);
 
@@ -38,7 +35,7 @@ namespace Pango {
 			pango_coverage_to_bytes (Handle, out array_ptr, out count);
 			bytes = new byte [count];
 			Marshal.Copy (array_ptr, bytes, 0, count);
-			g_free (array_ptr);
+			GLib.Marshaller.Free (array_ptr);
 		}
 	}
 }
diff --git a/pango/FontFamily.cs b/pango/FontFamily.cs
index ebd71f3..77fd79b 100644
--- a/pango/FontFamily.cs
+++ b/pango/FontFamily.cs
@@ -25,9 +25,6 @@ namespace Pango {
 
 	public partial class FontFamily {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libpango-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern void pango_font_family_list_faces(IntPtr raw, out IntPtr faces, out int n_faces);
 
@@ -44,7 +41,7 @@ namespace Pango {
 					result [i] = GLib.Object.GetObject (fam_ptr) as FontFace;
 				}
 
-				g_free (array_ptr);
+				GLib.Marshaller.Free (array_ptr);
 				return result;
 			}
 		}
diff --git a/pango/FontMap.cs b/pango/FontMap.cs
index cee7053..311ccfd 100644
--- a/pango/FontMap.cs
+++ b/pango/FontMap.cs
@@ -25,9 +25,6 @@ namespace Pango {
 
 	public partial class FontMap {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libpango-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern void pango_font_map_list_families(IntPtr raw, out IntPtr families, out int n_families);
 
@@ -44,7 +41,7 @@ namespace Pango {
 					result [i] = GLib.Object.GetObject (fam_ptr) as FontFamily;
 				}
 
-				g_free (array_ptr);
+				GLib.Marshaller.Free (array_ptr);
 				return result;
 			}
 		}
diff --git a/pango/Layout.cs b/pango/Layout.cs
index 34c2a68..abbcc06 100644
--- a/pango/Layout.cs
+++ b/pango/Layout.cs
@@ -55,9 +55,6 @@ namespace Pango {
 			accel_char = GLib.Marshaller.GUnicharToChar (ucs4_accel_char);
 		}
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libpango-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern void pango_layout_get_log_attrs (IntPtr raw, out IntPtr attrs, out int n_attrs);
 
@@ -74,7 +71,7 @@ namespace Pango {
 					result [i] = LogAttr.New (fam_ptr);
 				}
 
-				g_free (array_ptr);
+				GLib.Marshaller.Free (array_ptr);
 				return result;
 			}
 		}
diff --git a/pango/LayoutLine.cs b/pango/LayoutLine.cs
index 39e826d..89c2e55 100644
--- a/pango/LayoutLine.cs
+++ b/pango/LayoutLine.cs
@@ -46,7 +46,7 @@ namespace Pango {
 
 			}
 			Marshal.Copy (array_ptr, ranges, 0, count);
-			g_free (array_ptr);
+			GLib.Marshaller.Free (array_ptr);
 #endif
 		}
 	}
diff --git a/pango/Makefile.in b/pango/Makefile.in
index 9d015e1..4c4b5b4 100644
--- a/pango/Makefile.in
+++ b/pango/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -768,12 +768,12 @@ uninstall-am: uninstall-gapiDATA uninstall-local
 	uninstall-local
 
 
-$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/parser/gapi-fixup.exe
+$(API): $(METADATA) $(RAW_API) $(SYMBOLS) $(top_builddir)/generator/gapi-fixup.exe
 	cp $(srcdir)/$(RAW_API) $(API)
 	chmod u+w $(API)
 	@if test -n '$(METADATA)'; then		\
-		echo "$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
-		$(RUNTIME) $(top_builddir)/parser/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
+		echo "$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols)";	\
+		$(RUNTIME) $(top_builddir)/generator/gapi-fixup.exe --api=$(API) --metadata=$(srcdir)/$(METADATA) $(build_symbols); \
 	fi
 
 generated-stamp: $(API) $(INCLUDE_API) $(top_builddir)/generator/gapi_codegen.exe $(GAPI_XSD)
diff --git a/pango/TabArray.cs b/pango/TabArray.cs
index 9892edc..069f604 100644
--- a/pango/TabArray.cs
+++ b/pango/TabArray.cs
@@ -25,9 +25,6 @@ namespace Pango {
 
 	public partial class TabArray {
 
-		[DllImport ("libglib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
-		static extern void g_free (IntPtr raw);
-
 		[DllImport ("libpango-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
 		static extern void pango_tab_array_get_tabs (IntPtr raw, out IntPtr alignments, out IntPtr locations);
 
@@ -45,8 +42,8 @@ namespace Pango {
 			Marshal.Copy (align_ptr, tmp, 0, sz);
 			for (int i = 0; i < sz; i++)
 				alignments [i] = (TabAlign) tmp [i];
-			g_free (align_ptr);
-			g_free (loc_ptr);
+			GLib.Marshaller.Free (align_ptr);
+			GLib.Marshaller.Free (loc_ptr);
 		}
 	}
 }
diff --git a/pango/glue/Makefile.in b/pango/glue/Makefile.in
index 25bef4d..80c01a4 100644
--- a/pango/glue/Makefile.in
+++ b/pango/glue/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/parser/Makefile.am b/parser/Makefile.am
index 9e2e27a..a07a410 100644
--- a/parser/Makefile.am
+++ b/parser/Makefile.am
@@ -1,14 +1,13 @@
 assemblydir = $(prefix)/lib/gapi-3.0
 pkgconfigdir = $(libdir)/pkgconfig
-assembly_DATA = gapi-fixup.exe gapi-parser.exe
+assembly_DATA = gapi-parser.exe
 pkgconfig_DATA = gapi-3.0.pc
-bin_SCRIPTS = gapi3-fixup gapi3-parser
+bin_SCRIPTS = gapi3-parser
 assembly_SCRIPTS = gapi_pp.pl gapi2xml.pl
-CLEANFILES = gapi-fixup.exe gapi-parser.exe
-DISTCLEANFILES = gapi3-fixup gapi3-parser gapi-3.0.pc
+CLEANFILES = gapi-parser.exe
+DISTCLEANFILES = gapi3-parser gapi-3.0.pc
 
 sources = 				\
-	gapi-fixup.cs			\
 	gapi-parser.cs
 
 EXTRA_DIST =					\
@@ -18,9 +17,6 @@ EXTRA_DIST =					\
 	gapi2xml.pl				\
 	gapi-3.0.pc.in
 
-gapi-fixup.exe: $(srcdir)/gapi-fixup.cs
-	$(CSC) $(CSFLAGS) -out:gapi-fixup.exe $(srcdir)/gapi-fixup.cs
-
 gapi-parser.exe: $(srcdir)/gapi-parser.cs
 	$(CSC) $(CSFLAGS) -out:gapi-parser.exe $(srcdir)/gapi-parser.cs
 
diff --git a/parser/Makefile.in b/parser/Makefile.in
index cfd765c..129afcb 100644
--- a/parser/Makefile.in
+++ b/parser/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -81,15 +81,14 @@ build_triplet = @build@
 host_triplet = @host@
 subdir = parser
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
-	$(srcdir)/gapi-3.0.pc.in $(srcdir)/gapi3-fixup.in \
-	$(srcdir)/gapi3-parser.in
+	$(srcdir)/gapi-3.0.pc.in $(srcdir)/gapi3-parser.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = gapi-3.0.pc gapi3-fixup gapi3-parser
+CONFIG_CLEAN_FILES = gapi-3.0.pc gapi3-parser
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -297,14 +296,13 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 assemblydir = $(prefix)/lib/gapi-3.0
 pkgconfigdir = $(libdir)/pkgconfig
-assembly_DATA = gapi-fixup.exe gapi-parser.exe
+assembly_DATA = gapi-parser.exe
 pkgconfig_DATA = gapi-3.0.pc
-bin_SCRIPTS = gapi3-fixup gapi3-parser
+bin_SCRIPTS = gapi3-parser
 assembly_SCRIPTS = gapi_pp.pl gapi2xml.pl
-CLEANFILES = gapi-fixup.exe gapi-parser.exe
-DISTCLEANFILES = gapi3-fixup gapi3-parser gapi-3.0.pc
+CLEANFILES = gapi-parser.exe
+DISTCLEANFILES = gapi3-parser gapi-3.0.pc
 sources = \
-	gapi-fixup.cs			\
 	gapi-parser.cs
 
 EXTRA_DIST = \
@@ -349,8 +347,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 gapi-3.0.pc: $(top_builddir)/config.status $(srcdir)/gapi-3.0.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-gapi3-fixup: $(top_builddir)/config.status $(srcdir)/gapi3-fixup.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 gapi3-parser: $(top_builddir)/config.status $(srcdir)/gapi3-parser.in
 	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 install-assemblySCRIPTS: $(assembly_SCRIPTS)
@@ -633,9 +629,6 @@ uninstall-am: uninstall-assemblyDATA uninstall-assemblySCRIPTS \
 	uninstall-binSCRIPTS uninstall-pkgconfigDATA
 
 
-gapi-fixup.exe: $(srcdir)/gapi-fixup.cs
-	$(CSC) $(CSFLAGS) -out:gapi-fixup.exe $(srcdir)/gapi-fixup.cs
-
 gapi-parser.exe: $(srcdir)/gapi-parser.cs
 	$(CSC) $(CSFLAGS) -out:gapi-parser.exe $(srcdir)/gapi-parser.cs
 
diff --git a/sample/CairoPng.cs b/sample/CairoPng.cs
new file mode 100644
index 0000000..f54e30d
--- /dev/null
+++ b/sample/CairoPng.cs
@@ -0,0 +1,76 @@
+using System;
+using System.Diagnostics;
+using System.IO;
+using Cairo;
+
+public class CairoPng
+{
+	public void CreatePng ()
+	{
+		const int Width = 480;
+		const int Height = 160;
+		const int CheckSize = 10;
+		const int Spacing = 2;
+
+		// Create an Image-based surface with data stored in ARGB32 format and a context,
+		// "using" is used here to ensure that they are Disposed once we are done
+		using (ImageSurface surface = new ImageSurface (Format.ARGB32, Width, Height))
+		using (Context cr = new Cairo.Context (surface))
+		{
+			// Start drawing a checkerboard
+			int i, j, xcount, ycount;
+			xcount = 0;
+			i = Spacing;
+			while (i < Width) {
+				j = Spacing;
+				ycount = xcount % 2; // start with even/odd depending on row
+				while (j < Height) {
+					if (ycount % 2 != 0)
+						cr.SetSourceRGB (1, 0, 0);
+					else
+						cr.SetSourceRGB (1, 1, 1);
+					// If we're outside the clip, this will do nothing.
+					cr.Rectangle (i, j, CheckSize, CheckSize);
+					cr.Fill ();
+
+					j += CheckSize + Spacing;
+					++ycount;
+				}
+				i += CheckSize + Spacing;
+				++xcount;
+			}
+
+			// Select a font to draw with
+			cr.SelectFontFace ("serif", FontSlant.Normal, FontWeight.Bold);
+			cr.SetFontSize (64.0);
+
+			// Select a color (blue)
+			cr.SetSourceRGB (0, 0, 1);
+
+			// Draw
+			cr.MoveTo (20, 100);
+			cr.ShowText ("Hello, World");
+
+			surface.WriteToPng ("test.png");
+		}
+	}
+
+	static void Main ()
+	{
+		var app = new CairoPng ();
+		int iterations = 100;
+
+		for (int loop = 0; loop < 10; loop++) {
+			Stopwatch stop_watch = new Stopwatch ();
+			stop_watch.Start ();
+			Console.Write ("Starting iterations, {0} bytes used...\t", Process.GetCurrentProcess().PrivateMemorySize64);
+			for (int i = 0; i < iterations; i++) {
+				app.CreatePng ();
+			}
+			stop_watch.Stop ();
+			Console.WriteLine ("Created {0} PNG files in {1}ms", iterations, stop_watch.ElapsedMilliseconds);
+			System.Threading.Thread.Sleep (1000);
+		}
+	}
+}
+
diff --git a/sample/GtkDemo/Makefile.in b/sample/GtkDemo/Makefile.in
index 3218dc4..47f2495 100644
--- a/sample/GtkDemo/Makefile.in
+++ b/sample/GtkDemo/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/sample/Makefile.am b/sample/Makefile.am
index fd48ab8..cd0d8a1 100755
--- a/sample/Makefile.am
+++ b/sample/Makefile.am
@@ -8,7 +8,7 @@ DOTNET_TARGETS=
 DOTNET_ASSEMBLY=
 endif
 
-TARGETS = gtk-hello-world.exe async-sample.exe button.exe calendar.exe subclass.exe menu.exe treeviewdemo.exe managedtreeviewdemo.exe nodeviewdemo.exe treemodeldemo.exe actions.exe spawn.exe assistant.exe registerprop.exe gexceptiontest.exe native-instantiation.exe polarfixed.exe cairo-sample.exe scribble.exe testdnd.exe custom-cellrenderer.exe custom-widget.exe custom-scrollable.exe #scribble-xinput.exe $(DOTNET_TARGETS)
+TARGETS = gtk-hello-world.exe async-sample.exe button.exe calendar.exe subclass.exe menu.exe treeviewdemo.exe managedtreeviewdemo.exe nodeviewdemo.exe treemodeldemo.exe actions.exe spawn.exe assistant.exe registerprop.exe gexceptiontest.exe native-instantiation.exe polarfixed.exe cairo-sample.exe scribble.exe testdnd.exe custom-cellrenderer.exe custom-widget.exe custom-scrollable.exe cairo-png.exe #scribble-xinput.exe $(DOTNET_TARGETS)
 
 DEBUGS = $(addsuffix .mdb, $(TARGETS))
 
@@ -103,6 +103,9 @@ registerprop.exe: $(srcdir)/PropertyRegistration.cs $(assemblies)
 gexceptiontest.exe: $(srcdir)/GExceptionTest.cs $(assemblies)
 	$(CSC) $(CSFLAGS) -out:gexceptiontest.exe $(references) $(srcdir)/GExceptionTest.cs
 
+cairo-png.exe: $(srcdir)/CairoPng.cs $(top_builddir)/cairo/cairo-sharp.dll
+	$(CSC) $(CSFLAGS) -out:cairo-png.exe -r:$(top_builddir)/cairo/cairo-sharp.dll $(srcdir)/CairoPng.cs
+
 EXTRA_DIST = 				\
 	HelloWorld.cs			\
 	Assistant.cs			\
@@ -120,6 +123,7 @@ EXTRA_DIST = 				\
 	NativeInstantiationTest.cs	\
 	NodeViewDemo.cs			\
 	GExceptionTest.cs		\
+	CairoPng.cs				\
 	CairoSample.cs			\
 	TestDnd.cs			\
 	CustomCellRenderer.cs		\
diff --git a/sample/Makefile.in b/sample/Makefile.in
index cee564e..3959f75 100644
--- a/sample/Makefile.in
+++ b/sample/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -327,7 +327,7 @@ SUBDIRS = test GtkDemo pixmaps valtest opaquetest gio gtk-gio
 @ENABLE_DOTNET_TRUE at DOTNET_TARGETS = drawing-sample.exe
 @ENABLE_DOTNET_FALSE at DOTNET_ASSEMBLY = 
 @ENABLE_DOTNET_TRUE at DOTNET_ASSEMBLY = ../gtkdotnet/gtk-dotnet.dll
-TARGETS = gtk-hello-world.exe async-sample.exe button.exe calendar.exe subclass.exe menu.exe treeviewdemo.exe managedtreeviewdemo.exe nodeviewdemo.exe treemodeldemo.exe actions.exe spawn.exe assistant.exe registerprop.exe gexceptiontest.exe native-instantiation.exe polarfixed.exe cairo-sample.exe scribble.exe testdnd.exe custom-cellrenderer.exe custom-widget.exe custom-scrollable.exe #scribble-xinput.exe $(DOTNET_TARGETS)
+TARGETS = gtk-hello-world.exe async-sample.exe button.exe calendar.exe subclass.exe menu.exe treeviewdemo.exe managedtreeviewdemo.exe nodeviewdemo.exe treemodeldemo.exe actions.exe spawn.exe assistant.exe registerprop.exe gexceptiontest.exe native-instantiation.exe polarfixed.exe cairo-sample.exe scribble.exe testdnd.exe custom-cellrenderer.exe custom-widget.exe custom-scrollable.exe cairo-png.exe #scribble-xinput.exe $(DOTNET_TARGETS)
 DEBUGS = $(addsuffix .mdb, $(TARGETS))
 assemblies = \
 	$(top_builddir)/glib/glib-sharp.dll 	\
@@ -359,6 +359,7 @@ EXTRA_DIST = \
 	NativeInstantiationTest.cs	\
 	NodeViewDemo.cs			\
 	GExceptionTest.cs		\
+	CairoPng.cs				\
 	CairoSample.cs			\
 	TestDnd.cs			\
 	CustomCellRenderer.cs		\
@@ -756,6 +757,9 @@ registerprop.exe: $(srcdir)/PropertyRegistration.cs $(assemblies)
 gexceptiontest.exe: $(srcdir)/GExceptionTest.cs $(assemblies)
 	$(CSC) $(CSFLAGS) -out:gexceptiontest.exe $(references) $(srcdir)/GExceptionTest.cs
 
+cairo-png.exe: $(srcdir)/CairoPng.cs $(top_builddir)/cairo/cairo-sharp.dll
+	$(CSC) $(CSFLAGS) -out:cairo-png.exe -r:$(top_builddir)/cairo/cairo-sharp.dll $(srcdir)/CairoPng.cs
+
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/sample/ManagedTreeViewDemo.cs b/sample/ManagedTreeViewDemo.cs
index 08b4f65..a5024d8 100644
--- a/sample/ManagedTreeViewDemo.cs
+++ b/sample/ManagedTreeViewDemo.cs
@@ -10,7 +10,7 @@ namespace GtkSamples {
 
 	using Gtk;
 
-	public class TreeViewDemo {
+	public class ManagedTreeViewDemo {
 		private static ListStore store = null;
 		
 		private class Pair {
diff --git a/sample/Scribble.cs b/sample/Scribble.cs
index 260bb4c..d942aca 100644
--- a/sample/Scribble.cs
+++ b/sample/Scribble.cs
@@ -90,6 +90,10 @@ namespace GtkSamples {
 		
 		protected override bool OnConfigureEvent (EventConfigure ev)
 		{
+			if (surface != null) {
+				surface.Dispose ();
+			}
+
 			surface = ev.Window.CreateSimilarSurface (Cairo.Content.Color, AllocatedWidth, AllocatedHeight);
 			ClearSurface ();
 			return true;
diff --git a/sample/Subclass.cs b/sample/Subclass.cs
index 7ffa852..b7e3037 100755
--- a/sample/Subclass.cs
+++ b/sample/Subclass.cs
@@ -9,7 +9,7 @@ namespace GtkSamples {
 	using Gtk;
 	using System;
 
-	public class ButtonApp  {
+	public class ButtonAppSubclass  {
 
 		public static int Main (string[] args)
 		{
diff --git a/sample/gio/Makefile.in b/sample/gio/Makefile.in
index ea64d0d..a59906e 100644
--- a/sample/gio/Makefile.in
+++ b/sample/gio/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/sample/gtk-gio/Makefile.in b/sample/gtk-gio/Makefile.in
index 69af2da..e6bfa30 100644
--- a/sample/gtk-gio/Makefile.in
+++ b/sample/gtk-gio/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/sample/opaquetest/Makefile.am b/sample/opaquetest/Makefile.am
index 4d32377..edf552b 100644
--- a/sample/opaquetest/Makefile.am
+++ b/sample/opaquetest/Makefile.am
@@ -25,7 +25,7 @@ generated/*.cs: opaque-api.xml
 
 api:
 	PATH=../../parser:$(PATH) $(RUNTIME) ../../parser/gapi-parser.exe opaque-sources.xml
-	$(RUNTIME) ../../parser/gapi-fixup.exe --metadata=Opaque.metadata --api=opaque-api.xml
+	$(RUNTIME) ../../generator/gapi-fixup.exe --metadata=Opaque.metadata --api=opaque-api.xml
 
 install:
 
diff --git a/sample/opaquetest/Makefile.in b/sample/opaquetest/Makefile.in
index 74c340c..c7d830d 100644
--- a/sample/opaquetest/Makefile.in
+++ b/sample/opaquetest/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -693,7 +693,7 @@ generated/*.cs: opaque-api.xml
 
 api:
 	PATH=../../parser:$(PATH) $(RUNTIME) ../../parser/gapi-parser.exe opaque-sources.xml
-	$(RUNTIME) ../../parser/gapi-fixup.exe --metadata=Opaque.metadata --api=opaque-api.xml
+	$(RUNTIME) ../../generator/gapi-fixup.exe --metadata=Opaque.metadata --api=opaque-api.xml
 
 install:
 
diff --git a/sample/pixmaps/Makefile.in b/sample/pixmaps/Makefile.in
index 5ba6b17..03c1437 100644
--- a/sample/pixmaps/Makefile.in
+++ b/sample/pixmaps/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/sample/test/Makefile.in b/sample/test/Makefile.in
index 3a48e56..8f0de1e 100644
--- a/sample/test/Makefile.in
+++ b/sample/test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/sample/valtest/Makefile.in b/sample/valtest/Makefile.in
index a2b6d78..f8ea334 100644
--- a/sample/valtest/Makefile.in
+++ b/sample/valtest/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.
diff --git a/sources/Makefile.in b/sources/Makefile.in
index 5f92c62..7d1ddf3 100644
--- a/sources/Makefile.in
+++ b/sources/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994-2013 Free Software Foundation, Inc.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-cli-libs/packages/gtk-sharp3.git



More information about the Pkg-cli-libs-commits mailing list