almost done (before extra credit)