more work on renderer. getting close