first pass at solutions to assignment 3