teding to prefer respond_to? over is_a from here on out