Redo pretty much everything