Added isbn as the justification for polymorphism instead of using a protocol