refactoring: ... ok, 25 lines :-)