add adaptive protect