refactoring, remove unused