Add Material support
add Renderable abstraction