Basic concept nailed down, but needs massive performance improvements