dcd refactor