adding finalized version of hw04. still not working, but hopefully tom likes to see effort and time put in