kind of finished assignment 5