categorical edge coloring works