use list.List to store States