- switch because original code used 1 class for multiple types. Can do w. refactor
- as for "use": there was one, but phpstrom complained about importing \InvalidArgumentException from wrong namespace in fact. Is there a namespace for it? I thought it was from core php