add support for opacity