Massive refactorization for more order.