Can someone explain why my logic is off?