New class and implementations.