add minimum implementation