Speed, Fixes

There's a lot of changes and tweaks. I'll add comments to the code