ready of refactoring
ready of refactoring