This example is described here.