| update: refactor the renderer