Somewhat working prototype