correct to_s and clean up add_item
define []