new item functionality complete