prj5: make more polymorphic