cleaned+added stuff+rewrote stuff