is_a is more elegant and climbs inherited classes