refactoring towards multiple piece rendering