use retain to replace strong, remove atomic declaration