ticket:9 refactoring
ticket:9 refactoring