update_items refactored