added comments to every class and method