first refactorbeam
second refactorbeam
merged