Now finds superclasses, uses 2 passes