working on renderable interface