few methods refactored