Refactoring part2