Use cleaner OOP foundation.