some changes
refactoring