first pass at assignment #3