Refactored versions
Refactored version