Oh god, so many fixes.