add support for dynamic properties