enhance is<> behavior