make set implementations more similar