Change __weak to __block