rewrite GNSound and GNBrowser in Obj-C