newly updated assignment 1