refactor cdoe