The last version before refactoring