finally done with partIII