Goals for the rewrite:
- throw away this codebase and start from scratch
