big update, let's hope I fixed more than I broke