origin refactored 2