some work on addItem