frontend rendering