origin refactored 4