use on_apply some