make the code more standard according to the advice of HLJ