use logger to handle all logging responsibilities