refactor item, batch spec