William

Commented most of the code
Please have someone else check it before hand in