got rid of rich functions where not necessary
the StepFunction can access the solution set
fix CD implementation to take into account if new label is same as previous