refactored ex oh