updated and fixed all the things