Refactoring for version 1.0