Pushed to wip-gnome with some corrections.