new defensive algo