broken version while refactoring