reports page done, some common parts are separated.