added support for cairo