fix infinite loog bug