Beginning of Base implementation