thing refactoring