all methods and properties need to be properly commented, and higher complexity logic needs to be commented on as well.
all methods and properties need to be properly commented, and higher complexity logic needs to be commented on as well.