implement logging and reporting