logger is now set by the caller