hw2, hw3 attempt