use weak and strong instead of assign and retain, update deployment target to 5.0