Updated Code- Still Needs to be Commented