migrated extended functionality to a subclass