describe subclasses with many shared behaviors declaratively