ticket:10 refactoring
ticket:10 refactoring