record handler can be called with optional 3rd argument which is expected to