a bit updates for compilation optimization