report refactor part4