Base implementation