extractio refactoring 2