dispose, refactoring