more work on polymorphic stuff...