abstracted IGraphics