add DiC
(not Finish)