DM - refactor