renamed classes and functions to be more of an example