Interfaces and Implementations.