refactor
add apply enable