done before refactoring