Completed assignment4 still need to go through and comment the code.
All code has been commented and verified to function correctly.
Submitting assignment4