This is cool, but clunky and slow