This broke some things in major ways, but I want to keep it.
This is relatively fixed, so maybe use this for future development.