another bad refactoring :/