use itemData to store rule