diff --git a/extern/glow-extras b/extern/glow-extras
index c2d9d8b00be704588186a7484f949c503bb04994..7bd27e7e229d16008e3c926b614c5a2165a83e7e 160000
--- a/extern/glow-extras
+++ b/extern/glow-extras
@@ -1 +1 @@
-Subproject commit c2d9d8b00be704588186a7484f949c503bb04994
+Subproject commit 7bd27e7e229d16008e3c926b614c5a2165a83e7e
diff --git a/samples/basic/viewer/main.cc b/samples/basic/viewer/main.cc
index 922260872a333268fd53ee96115ecfa8663293ac..26ce1cc1854a38f1a8ad337ef8de616ba72d3339 100644
--- a/samples/basic/viewer/main.cc
+++ b/samples/basic/viewer/main.cc
@@ -16,6 +16,7 @@
 #include <glow-extras/viewer/view.hh>
 
 #include <typed-geometry/tg.hh>
+#include <polymesh/objects/cube.hh>
 
 // path to sample files
 std::string const dataPath = glow::util::pathOf(__FILE__) + "/../../../data/";
@@ -1054,15 +1055,18 @@ int main()
     // load a sample polymesh mesh
     pm::Mesh m;
     auto pos = m.vertices().make_attribute<tg::pos3>();
-    load(dataPath + "suzanne.obj", m, pos);
+    //load(dataPath + "suzanne.obj", m, pos);
+    pm::objects::add_cube(m, pos);
     //normalize(pos); // make it -1..1*/
     auto col = pm::face_attribute<tg::color3>(m);
     int it = 0;
 
+    auto r = tg::rng();
 	for (auto x : m.faces())
     {
 		tg::color3 color;
-		switch (it % 6)
+        color = tg::uniform<tg::color3>(r);
+		/*switch (it % 6)
 		{
         case 0:
             color = tg::color3::blue;
@@ -1084,7 +1088,7 @@ int main()
             break;
         default:
             color = tg::color3::white;
-		}
+		}*/
         it++;
 		col[x] = color;
     }