Beginning of assignment 2