use is_a? to avoid === issues