Refactoring source code - part 3