modify logics