part 1:- complete and working