Completely rewrite renderer