First working version, tested against a simple 2x2 matrix.  Cache message displayed after initial trial, so seems to be in working order.