US3: further refactoring.