its way to early to do refactoring :(