TODO: sort by location, update item