Finish restructure. add UnionParser. Add singlelabelevaluater