updated add item logic