new assignment2 stuff