cleaning up & unifying & simplifying