more private method refactoring