Refactored and ready