first pass of logger api