always query with polymorphic