beginning of assignment 3