Finished all the code.

Everything is commented and working fine. Should be an A.