memory leak part1
memory leak part2
no retain on delegate
rm some memry leak