cis425 homework 4