Selection

code refactoring and comment