methods implementation, refactoring
refactoring