implement Shawn's version of mosaic