Re-did all the isEqual methods and other worthless things.