Somewhat wonky working implementation