fix memory leaks: forget to call autorelease in many place