restored headers which aren't strictly speaking necessary, for the purposes of a better example
moved glib header out of main header, since it's only used for tests