meant to use typesafe equals