implemented DT.. Still Need some testing