(broken) wip refactoring