logic, check