refactor and change summary mechanism