internalized our own logging shim