smells and refactoring