Base implementation.