review logic