use responds_to? instead of is_a?