separated renderer