Added classes for different types of parameters.
I'm not sure how this commit happened.

I don't think I changed anything