Assignment 2. First Version