report refactor part3