Refactoring for v1.0