improve rendering architecture