change some logics