Initial interface and abstract class implementation.