Changed the interface of linhat.Evaluate
Optimized the memory usage in adhier.Construct