support polymorphic

just support polymorphic