add reporting function