refactor
fix memory leak