assignment 3: 1st version