finished the whole assignment