refactoring for version 1.0.1