prevent long method names from overlapping
include list of descendents for each class
differentiate between exceptions and other classes