preliminary implementations of contains and add