implented equals, not sure if it's helping