update on off switch
enhance on off switch