fix retain / assign issue