finished remainder of assignment, tweaks from here on out