finished basic renderer