weird
refactoring