misc refactoring
add report