updated : assignment 2