fix bug : recursion error