Compare() update

Compare() works, there were several changes and additones made to
support this.