add button uses factory to create new items.