wewak ref to fix retain cycle!
end of chapter 3 @property