refactoring for 0.3.0
refactoring for 0.3.0