using GLib instead of Boost and new FileIO functions