allow classes to extend down a chain of many classes, also allow them to
require further files