Refactorization part 5