adapt to property reflection change