change __weak variable qualifier to __unsafe_unretained for non-ARC compliance