finish porting rewindableproperty