Refactored classes. Added param class that is inherited by other classes.