further renderer design