completed add-item interface