//ok, so why do i need to do public void setStat(StatType type, float amount ){ switch( type ){ case STR: STR.setAmount(amount); break; //etc } } //and in another program say m1.setStat(StatType.STR,3); //m1 is monster 1 //what about just public void setStat(Stat type, float amount ){ type.setAmount(amount); } //? but i cant figure out how id call it. essentially id just like to be able to say m1.setStat(STR,20); i appear to be missing a step somewhere though