different logic