Switched the order of the inputs in the constructor,
corrected an error with default parameters, and
added function descriptions