fixed the most of it