refactored using scope order_by_positions