add renderer interface