Almost works...
Working prototype.