last version before refactoring