working copy of assignment 2