Very much a work in progress, but I started messing around with...