Huge cleanup! More to do still...