update assignment 1, not finished