almost done assignment 3