add testcase
refactor
support static option
use events to log
improve
update testcase