Finished Assignment including minor fixes