#38, #37, #33, #32 refactoring after remove dds