one more obvious optimization, only check odd numbers