output to client