GNOME Shell is tightly integrated with Mutter, a compositing window manager and Wayland compositor. It is based upon Clutter to provide visual effects and hardware acceleration.[20] According to GNOME Shell maintainer[21] Owen Taylor, it is set up as a Mutter plugin largely written in JavaScript[22] and uses GUI widgets provided by GTK+ version 3.