add push block info, and tiny the code