refactoring methods...