Improvement Part1
Improvement Part2(Debug Info)
Improvement Part3(Assert Info)
Improvement Part4