clear code and accept interfaces for logging