make Competition type polymorphic