fixed some polymorphic stuff