Difference appears to work, need to fix up union still.