Refactoring
New version