Implementation of the demo puzzle. Unfinished.