Assignment 4 mostly finished