add custom property support