add handler chain
fix handler chain
add some comments
merge