major refactor to hide the dds implementation