some irrelevant changes in Pattern / equals