even better refactoring, because we have...data structures!