implement remove
implement Value
implement hasKey
update size method