add logger.hpp