final helper methods refactoring