rename onData to render