first pass at the assignment