New Version

Refactoring