some further refactoring, continued working on a method