Somewhat working prototype.