refactor CD methods into category