change some logic