Updated to GNOME 3.10 with some refactoring