Type Effectiveness

And renaming some stuff