I fixed all of the class names and a few default arguments to fit standards better.