Refactorization to clear concepts