Added comments to clarify many classes and functions