hw5 (mostly) finished