Finished through problem 8