changed spacing, added more comments to self