interface changes: expose gfxdevice to the caller