learn for https://github.com/360/HessianKit