return fix memory leak