implement logging system;