first rev of Assignment 1