done with assign-1 except for Required Task #4&5