Support Custom Renderer

see #1 #2