add support for polygon