Basically finished Assignment 5