added comments for methods and broke up some into sections