first run at Assignment 4