c.d. refactoring