Just created a mess of a prototype, but it's getting there.