forward-declaring subclasses
mostly cosmetic