I think this looks good after looking more.  That said @mpetrovic the render function looks like something @rbran100 would write can we add some comments so that we know what is going on at a glance.