version 0.1
refactoring and comment