prevent from making an infinite loop