documenting custom subclasses